ASSERT_* マクロはテスト ケースを終了させますが、EXPECT_* マクロは評価を続行します。どちらを使用するかを決定する基準は何かを知りたいです。
62309 次
3 に答える
71
ASSERT
条件が保持されなければならない場合に使用します - 保持されない場合、テストはそこで停止します。この条件が保持されないと、テストの残りの部分に意味的な意味がない場合に使用します。
EXPECT
条件が満たされる必要がある場合に使用しますが、そうでない場合でも、テストを続行することで価値を得ることができます。(ただし、テストは最終的に失敗します。)
経験則は次のとおりです。残りのテストで何かを保持する必要がEXPECT
ない限り、デフォルトで使用します。その場合は、その特定の条件に使用する必要があります。ASSERT
これはプライマー内でエコーされます:
EXPECT_*
テストで複数の失敗を報告できるため、通常は好まれます。ただし、ASSERT_*
問題のアサーションが失敗したときに続行する意味がない場合は、使用する必要があります。
于 2010-04-02T06:24:28.563 に答える
23
するときに使用EXPECT_
します。
- テストで複数の失敗を報告したい
使用するASSERT_
場合
- アサーションが失敗したときに続行しても意味がありません
ASSERT_
関数が失敗するとすぐに中止されるため、可能なクリーンアップ コードはスキップされます。デフォルトとして優先EXPECT_
します。
于 2010-04-02T06:30:01.157 に答える