PHPUnit:在单个测试中有多个断言,仅看到第一次失败
我在PHPUnit上看到的下一个奇怪之处:
class DummyTest extends PHPUnit_Framework_TestCase {
public function testDummy() {
$this->assertTrue(false, 'assert1');
$this->assertTrue(false, 'assert2');
}
public function testDummy2() {
$this->assertTrue(false, 'assert3');
}
}
一旦测试中的第一个断言失败,测试的其余部分就会被忽略。
所以(通过简单地调用phpunit DummyTest.php):
上面的代码将显示 2 个测试、2 个断言、2 个失败。什么?
如果我让所有测试都通过,那么我会没事的(2个测试,3个断言)。好。
如果我只让除 assert2 之外的所有测试都通过,我得到 2 个测试,3 个断言,1 个失败。好。
我不明白,但是PHPUnit已经存在了很长时间,它肯定是我吗?
不仅计数不是我所期望的,而且只显示上述代码中第一个失败断言的错误消息。
(顺便说一句,我正在分析PHPUnit为CI生成的xml格式,而不是测试真实代码,因此在一次测试中练习多个断言。