Phpunit 如果特定测试失败,如何停止运行测试?

Phpunit 如果特定测试失败,如何停止运行测试?,phpunit,Phpunit,我知道PHPUnit中有一个选项可以在失败时停止,但我不希望它在任何测试失败时停止,就在这个特定测试失败时停止 例如,在我的设置中我连接到一个DB,在第一次测试中,我检查它是否连接到正确的DB。如果失败,我将无法运行其余的测试。使用PHP的@dependens功能 如果一个测试依赖于另一个测试,那么只有当另一个测试成功时,才会执行该测试。否则它将被跳过。这使您能够更好地查明问题 用法:在测试函数顶部添加一个PHPDOC块,该块只应在另一个测试成功时执行,并添加一行@dependens testC

我知道PHPUnit中有一个选项可以在失败时停止,但我不希望它在任何测试失败时停止,就在这个特定测试失败时停止


例如,在我的
设置中
我连接到一个DB,在第一次测试中,我检查它是否连接到正确的DB。如果失败,我将无法运行其余的测试。

使用PHP的
@dependens
功能

如果一个测试依赖于另一个测试,那么只有当另一个测试成功时,才会执行该测试。否则它将被跳过。这使您能够更好地查明问题

用法:在测试函数顶部添加一个PHPDOC块,该块只应在另一个测试成功时执行,并添加一行
@dependens testConnectToDb


有关更多详细信息,请参见和。

这很好,但是我需要在每个方法中添加其中一个,除了第一个?这是唯一的方法吗?您还可以使用PHPUnit中的
assertpremission
(和
assertPostCondition
)函数在测试函数之前(或之后)运行断言。如果连接失败,您还可以在
设置中将测试标记为跳过,因此无需使用测试进行检查(我建议在每次跳过测试时添加解释测试,以明确跳过测试的原因)。