我是Yii2的初学者。当我参与yiisoft / yii2项目时,很清楚如何部署该项目并运行其phpunit-tests。但是我对使用扩展程序有一些疑问:
首先,我使用composer require
添加扩展名。然后在我的主目录中git clone
使用相同的扩展名。之后,我将第一个目录替换为symlink,该目录指向第二个目录。由于可以在站点上看到更改,因此非常方便,但是我不能再使用composer。
如何运行扩展程序的测试?它们通常取决于Yii2应用类,但是
$ vendor/bin/phpunit vendor/yiisoft/yii2-elasticsearch/tests/
PHP Fatal error: Class 'yiiunit\extensions\elasticsearch\TestCase' not found in /var/www/yii2.test/vendor/yiisoft/yii2-elasticsearch/tests/ActiveDataProviderTest.php on line 11
$ vendor/bin/phpunit vendor/yiisoft/yii2-queue/tests/
PHP Fatal error: Class 'tests\TestCase' not found in /var/www/yii2.test/vendor/yiisoft/yii2-queue/tests/JobEventTest.php on line 22
我应该指定一个配置文件吗?还是我应该独立运行这些测试 框架?
那么,请您与我分享有关这种情况的最佳做法?
答案 0 :(得分:1)
您应该在框架之外运行这些测试。从扩展名的角度来看,yiisoft/yii2
是一个依赖项,应安装在扩展名目录内的vendor
目录中。简而言之,您应该转到扩展目录并调用composer install
。之后,您将获得类似于以下内容的目录结构:
extension/
├── src/
│ └── ...
├── vendor/
│ ├── yiisoft/
│ │ ├── yii2/
│ │ └── ...
│ └── ...
├──composer.json
└── ...
然后,您可以直接从扩展目录运行测试(可能通过vendor/bin/phpunit
命令)。