0
REQUIRE_NOTHROW
アサーションのポイントは何ですか?ステートメントを置いて、それをアサーションマクロにラップしないと、とにかくスローすれば失敗するでしょうか?catch C++テストフレームワークのREQUIRE_NOTHROWのポイント
REQUIRE_NOTHROW
アサーションのポイントは何ですか?ステートメントを置いて、それをアサーションマクロにラップしないと、とにかくスローすれば失敗するでしょうか?catch C++テストフレームワークのREQUIRE_NOTHROWのポイント
TEST_CASEの失敗と個々のアサーションの失敗の違いです。 REQUIREマクロは、失敗した場合に次の行が実行されないようにします。逆に、CHECKマクロは、テストケースを失敗としてマークすることができますが、続行します。
は、この例を考えてみましょう:
REQUIRE_NOTHROW(parseInput(validInput));
REQUIRE_THROWS(parseInput(errorInput));
REQUIRE_THROWS(parseInput(NULL));
だから我々は、明示的に有効な入力を渡すと例外が発生しないことを要求しているが、不正な入力はありません。 REQUIRE_NOTHROW()
マクロを使用しなかった場合、テストは失敗しますが、失敗した場所を解読する必要があります。例外はテストコードの他の行から来た可能性があります。