我正在開發testing framework for iOS development。我也希望這個測試框架經過充分測試。問題是,我無法弄清楚如何爲測試目標編寫一個測試,該測試聲明我的框架正確地導致失敗的測試。如果我創建一個失敗的測試,我反過來會導致測試失敗(我知道,這很混亂)。如何編寫自定義XCTest斷言的自動化測試?
考慮一個例子。我的框架的一部分包含函數來驗證特定的代碼段沒有任何中斷約束。
MTKAssertNoBrokenConstraints {
// UI code that might break some constraints
}
我已經手工測試此,以驗證當沒有損壞的限制,斷言通過,但是當有破限制,它正確地標誌着試驗爲不合格。
但我需要一個方法來驗證MTKAssertNoBrokenConstraints
會馬克測試爲失敗沒有實際標誌着測試這個本身失敗。
我已經研究過創建一個符合XCTestObservation
的自定義對象,但到目前爲止我只能以無限遞歸結束。我不確定這是否是正確的路徑,或者解決無限遞歸是否實際上將我帶到了我需要的地方。
回答此問題將幫助我解決[問題#2](https://github.com/metova/MetovaTestKit/issues/2)。我會很感激這裏的答案,解決這個問題的請求,或者兩者兼而有之。 – nhgrif