Skip to content
This repository has been archived by the owner on Sep 2, 2021. It is now read-only.
/ yii2-skeletest Public archive

Generate test skeletons for file or whole directory with target file methods

Notifications You must be signed in to change notification settings

Insolita/yii2-skeletest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test Skeleton generator

Status Latest Stable Version Total Downloads License

Generate test skeletons for file or whole directory with target file methods (codeception/phpunit - based on template)

CHANGELOG!

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require -dev --prefer-dist insolita/yii2-skeletest "~1.1"

or add

"insolita/yii2-skeletest": "~1.1"

to the require-dev section of your composer.json file.

Usage

in console application config add to controllerMap section

'skeletest'=>[
            'class'=>\insolita\skeletest\controllers\SkeletestController::class,
            'apps' => [
            //register each application with own test directory - for basic template like this
                            'app'=>[
                                'appPath'  => '@app/',
                                'testPath' => '@app/tests/codeception/unit',
                                'testNs'   => 'tests\codeception\unit',
                                'testerNs' => 'tests\codeception\UnitTester', //optional
                            ]
                        ],
            'app'=>'app',//default application key
            'templateFile' => '@vendor/insolita/yii2-skeletest/templates/codeception.php', //or own template
            'overwrite' => false, //overwrite existed test
            'ignoreGetters' => true, //skip getter methods
            'ignoreSetters' => true, //skip setter methods
            'withProtectedMethods' => false, //include protected methods in test skeleton
            'withPrivateMethods' => false,//include private methods in test skeleton
            'withStaticMethods' => true,//include static methods in test skeleton
            'ignoreFilePatterns'=>['~(controllers|widget|asset|interface|contract|migration)~i'],//array of regexp patterns for skip files
            'ignoreMethodPatterns'=>['~^(behaviors|find|rules|tableName|attributeLabels|scenarios)$~'],//array of regexp patterns for skip methods
        ],

after configuration you can use it in console

  • generate single test by file alias
  ./yii skeletest @app/components/MyComponent.php
  • generate tests recursive for all files by directory alias (Be careful, if directory contains sub-directory with non-psr namespace roots, for that directories you must generate test directly)
    ./yii skeletest/dir @frontend/services/registration --app=front
    
  • show options
    ./yii help skeletest/file
    

Template customization

Copy @vendor/insolita/yii2-skeletest/templates/codeception.php in any project directory and modify as you want Change in controllerMap 'templateFile' parameter of skeletest controller to you own template path Share in issue usefull template variants

About

Generate test skeletons for file or whole directory with target file methods

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages