PHPUnit 不是 运行 执行覆盖率时的所有测试

PHPUnit not running all tests when executed with coverage

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

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

这是我的命令:

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 尝试了 运行ning 相同的东西,最后我在它的控制台中得到了一个错误代码。这就是它所说的:

Process finished with exit code -1073740940 (0xC0000374)

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

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

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

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