XCTASSERTTHROWSはブレークポイントで停止します
質問
特定の条件下では、SUTが例外をスローするためのテスト方法を書いています。コードは次のようになります。
- (void) testCantStartTwice
{
XCTAssertThrows([self.sut start], @"");
}
.
今、すべてが良く、テストが通過します。ただし、XcodeはすべてのOBJCの例外に例外ブレークポイントを設定します。これは、デバッガでアプリをテストするときにかなり便利です。今すぐ、今すぐTest Suiteを⌘uで実行すると、そのテストに停んで、「テストに成功した」と表示されていても、そのテストでは失敗した場合はようになります。
その試験でブレークポイントを強い>停止しないでください。
ありがとうございました。
解決
テストしているときに、例外ブレークポイントの代わりにテスト失敗ブレークポイントを使用することができます。ユニットテスト上のWWDC 2013ビデオは、テスト失敗を検査するためのかなり良いワークフローを概説しました。それは本質的に言った:
- テスト失敗ブレークポイントを設定して、障害の原因となった条件を調べることができます。
- 必要に応じて、テストと再実行の手動ブレークポイントを設定して、通常どおりに失敗したステートメントを実行できるようにします。
これは本当に直接的な答えではありませんが、私が知っている限りでは、例外ブレークポイントに例外を作成する方法があるとは思わない。
を助けることを願っています他のヒント
私は同じ問題を持っていて、私は2時間の解決策を探していました。おそらく私たちはそれで何もできません。
所属していません StackOverflow