PHPUnit在使用coverage执行时没有运行所有测试

时间:2015-03-17 19:35:39

标签: phpunit

我有一个测试套件,它有大约50个测试 - 每个测试套件都测试通过promises实现的异步网络调用。当我运行PHPUnit时,它会执行所有测试,并且每次都会传递。

但是当我使用coverage时,所有测试都没有运行,第一个测试部分运行,脚本退出,没有生成覆盖。有什么帮助吗?

这是我的命令:

phpunit --coverage-html ./coverage --debug --verbose tests/

我的代码是这样的:

class ClassToTest
{
  function foo($callback)
  {
    //asynchronously do something, trigger callback when done.
  }
}

class Test
{
  function testFoo()
  {
    $count = 1;
    $obj->foo( new function() {
      $obj->foo( new function() {
        $obj->foo( new function() {
          $count = 0;
        });
      });
    });
    // check if $count == 0, exit. If not, then sleep for sometime and repeat.
  }
}

我使用的是PHP 5.6.6

我尝试用PHPStorm运行同样的东西,我终于在它的控制台中得到了一个错误代码。这就是它所说的:

Process finished with exit code -1073740940 (0xC0000374)

发现不支持此错误。任何帮助赞赏。感谢。

2 个答案:

答案 0 :(得分:0)

如果启用了严格模式,则可能需要注释测试

class MyTest extends PHPUnit_Framework_TestCase {
    /**
     * @large
     */
    public function testSomething(){
        // some test code here;
    }
}

答案 1 :(得分:-1)

如果其他人遇到这个问题:我成功地在linux机器上运行了所有测试。