Yii2部署以做出贡献

时间:2019-01-20 19:00:50

标签: unit-testing deployment yii2

我是Yii2的初学者。当我参与yiisoft / yii2项目时,很清楚如何部署该项目并运行其phpunit-tests。但是我对使用扩展程序有一些疑问:

  1. 首先,我使用composer require添加扩展名。然后在我的主目录中git clone使用相同的扩展名。之后,我将第一个目录替换为symlink,该目录指向第二个目录。由于可以在站点上看到更改,因此非常方便,但是我不能再使用composer。

  2. 如何运行扩展程序的测试?它们通常取决于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

我应该指定一个配置文件吗?还是我应该独立运行这些测试 框架?

那么,请您与我分享有关这种情况的最佳做法?

1 个答案:

答案 0 :(得分:1)

您应该在框架之外运行这些测试。从扩展名的角度来看,yiisoft/yii2是一个依赖项,应安装在扩展名目录内的vendor目录中。简而言之,您应该转到扩展目录并调用composer install。之后,您将获得类似于以下内容的目录结构:

extension/
├── src/
│   └── ...
├── vendor/
│   ├── yiisoft/
│   │   ├── yii2/
│   │   └── ...
│   └── ...
├──composer.json
└── ...

然后,您可以直接从扩展目录运行测试(可能通过vendor/bin/phpunit命令)。

相关问题