我測試用例中的所有測試都取決於第一次測試通過。現在我知道我可以將@depends註釋添加到其餘的測試中,但是我正在尋找將註釋添加到每個其他測試方法的快捷方式。有沒有辦法告訴PHPUnit,「如果這個失敗,跳過其餘的測試」?PHPUnit:跳過所有測試失敗時
3
A
回答
6
您可以將該特定測試添加到您的setup()方法中。這將使所有未通過此測試的測試都被跳過,例如
public function setup()
{
$this->subjectUnderTest = new SubjectUnderTest;
$this->assertPreconditionOrMarkTestSkipped();
}
public function assertPreconditionOrMarkTestSkipped()
{
if ($someCondition === false) {
$this->markTestSkipped('Precondition is not met');
}
}
6
戈登的答案,但沒有在第一測試進入setUp
相似,類似的方法是設置基於其成功/失敗的第一個測試類級屬性和setUp
檢查這個屬性。唯一的區別是第一個測試只是現在執行一次。
private static $firstPassed = null;
public function setup() {
if (self::$firstPassed === false) {
self::markTestSkipped();
}
else if (self::$firstPassed === null) {
self::$firstPassed = false;
}
}
public function testFirst() {
... the test ...
self::$firstPassed = true;
}
相關問題
- 1. PHPUnit跳過所有測試
- 2. PHPUnit測試通過時應該失敗
- 3. PHPUnit assertNull()測試失敗
- 4. 跳過了所有使用chromedriver的phpunit測試
- 5. phpunit:單一測試運行時通過,當所有測試運行時都失敗
- 6. Dieharder dab_monobit2測試失敗 - 所有其他測試都通過 - TRNG
- 7. PHPUnit棄用警告失敗測試
- 8. 用phpunit重複失敗的測試
- 9. Mockery \ Exception \ NoMatchingExpectationException PHPUnit測試失敗
- 10. TestNG如何在beforetest繼承失敗時跳過測試
- 11. 如果一行失敗,跳過所有行嘗試
- 12. TestNG與DataProvider跳過所有測試
- 13. 所有測試跳過運行testNg programaticaly
- 14. 在vs2012中跳過了所有測試
- 15. 儘管測試通過,Gitlab CI和PHPUnit Lumen-CI仍然失敗
- 16. phpunit在經過多次測試後失敗
- 17. 生成PHPUnit報告(失敗並通過測試)
- 18. Syntaxnet所有巴澤勒測試失敗
- 19. Ant和Junit所有測試都失敗
- 20. RSpec:所有測試都失敗
- 21. PHPUnit - 在兩個相關函數失敗時將Mark測試失敗
- 22. 當所有測試被跳過時pytest總體結果'通過'
- 23. 作爲一個羣組運行時,PHPunit測試失敗
- 24. 當單元測試失敗時,讓laravel&phpunit發送消息
- 25. 當設置內部數組時,PHPUnit測試失敗
- 26. 與ZF2相冊模塊Phpunit測試連接到AlbumTable時失敗
- 27. 硒測試有時會失敗,有時會通過
- 28. 單元測試有時會失敗,有時會通過
- 29. ceylon.test.TestRunner在測試失敗時失敗
- 30. 如何知道由於配置失敗或跳過配置而跳過測試
[還有的--stop-上的錯誤和--stop-接通故障交換機](http://www.phpunit.de/manual/current/en/textui.html#textui.clioptions ) –
@MikeB - 那些將跳過*所有*進一步的測試 - 不僅僅是那些與所要求的相同的測試用例。 –
@DavidHarkness這就是爲什麼我把它作爲評論而不是答案。 OP沒有深入研究請求背後的目標,所以我只是把它扔到那裏。 –