insolita/yii2-skeletest

该包已被弃用且不再维护。未建议替代包。

使用模板生成文件或整个目录的目标文件方法的测试骨架(基于codeception/phpunit)

安装: 178

依赖者: 0

建议者: 0

安全性: 0

星标: 3

关注者: 1

分支: 0

类型:yii2-extension

1.1.0 2017-05-28 18:14 UTC

This package is not auto-updated.

Last update: 2021-09-10 08:13:29 UTC


README

Status Latest Stable Version Total Downloads License

使用模板生成文件或整个目录的目标文件方法的测试骨架(基于codeception/phpunit)

CHANGELOG!

安装

安装此扩展的首选方式是通过composer

运行以下命令:

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

或者

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

将以下内容添加到你的 composer.json 文件的 require-dev 部分。

使用

在控制台应用程序配置中,将以下内容添加到 controllerMap 部分

'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
        ],

配置后,你可以在控制台中使用它

  • 通过文件别名生成单个测试
  ./yii skeletest @app/components/MyComponent.php
  • 通过目录别名递归生成所有文件的测试(注意,如果目录包含具有非psr命名空间根的子目录,你必须为这些目录直接生成测试)
    ./yii skeletest/dir @frontend/services/registration --app=front
    
  • 显示选项
    ./yii help skeletest/file
    

模板自定义

将 @vendor/insolita/yii2-skeletest/templates/codeception.php 复制到任何项目目录中,并根据需要修改。更改 controllerMap 中 skeletest 控制器的 'templateFile' 参数以指向你自己的模板路径。在问题中分享有用的模板变体