PHPUnit - 断言失败但我想继续测试
->assertTrue(false);
->assertTrue(true);
First assertion was failed and execution was stopped. But I want to continue the further snippet of code.
Is there possible in PHPUnit
解决方案You could just store up the failures for the end, say with a
$passing = true;
if (! false) { $passing = false; }
if (! true) { $passing = false; }
$this->assertTrue($passing);
but I highly discourage this form of testing. I have written tests like this, and they exponentially get out of hand, and worse, you start to get weird failures for hard-to-find reasons.
Additionally, smarter people than me agree, tests should not have any conditionals (if/else, try/catch), because each conditional adds significant complexity to the test. If a conditional is needed, perhaps both the test and the SUT, or System Under Test, should be looked at very carefully, for ways to make it simpler.
A much better way would be to change it to be two tests, and if they share a significant portion of the setup, then move those two tests into a new test class, with the shared setup performed in the Setup() method.
相关文章