我有一个测试套件,它有大约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)
发现不支持此错误。任何帮助赞赏。感谢。
答案 0 :(得分:0)
如果启用了严格模式,则可能需要注释测试
class MyTest extends PHPUnit_Framework_TestCase {
/**
* @large
*/
public function testSomething(){
// some test code here;
}
}
答案 1 :(得分:-1)
如果其他人遇到这个问题:我成功地在linux机器上运行了所有测试。