我有一个PHP应用程序,我们正在使用Codeception添加测试。我们尝试将“指定”(和“验证”)添加到我们的套件中,但它未被识别。你如何正确设置指定与Codeception一起使用?
在我的composer.json中,我有以下内容:
{
"require-dev": {
"codeception/codeception": "2.0.11",
"codeception/specify": "*",
"codeception/verify": "*"
}
}
我在添加指定和验证后运行了composer update并得到了这个输出:
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing myclabs/deep-copy (1.3.0)
Downloading: 100%
- Installing codeception/specify (0.4.1)
Downloading: 100%
- Installing codeception/verify (0.2.7)
Downloading: 100%
Writing lock file
Generating autoload files
我有这样的测试(主要是从generate:test得到的):
<?php
class ServiceTest extends \Codeception\TestCase\Test
{
use \Codeception\Specifiy;
/**
* @var \UnitTester
*/
protected $tester;
protected function _before()
{
}
protected function _after()
{
}
// tests
public function testCall() {
$this->specify("An instance of the service is invoked");
}
}
当我运行单元测试时,我得到了输出:
Fatal error: Trait 'Codeception\Specifiy' not found in /Users/person/neat_app/tests/unit/ServiceTest.php on line 6
我正在使用的参考文献是: http://codeception.com/10-04-2013/specification-phpunit.html和https://github.com/Codeception/Specify
我缺少指定我的测试跑步者可见的内容吗?
编辑:我必须调用我的测试 - ./vendor/bin/codecept run unit
不只是在应用程序目录中键入codecept。这是否暗示我的Codeception安装有问题?
答案 0 :(得分:0)
@Deltran有更改目录并输入整个命令表示./vendor/bin不是系统PATH var的一部分。