未找到Codeception特征'Codeception \ Specificationiy'

时间:2015-04-13 17:12:40

标签: php codeception

我有一个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.htmlhttps://github.com/Codeception/Specify

我缺少指定我的测试跑步者可见的内容吗?

编辑:我必须调用我的测试 - ./vendor/bin/codecept run unit 不只是在应用程序目录中键入codecept。这是否暗示我的Codeception安装有问题?

1 个答案:

答案 0 :(得分:0)

@Deltran有更改目录并输入整个命令表示./vendor/bin不是系统PATH var的一部分。