2

"Catch" 単体テスト フレームワークを使い始めましたが、これまでのところ非常に優れています。私はVS組み込みのユニットテストフレームワークを非常に苦労して使用しました。

REQUIRE_THROWS_ASマクロが期待どおりに動作しないことに気付きました

ドキュメントから:

REQUIRE_THROWS_AS( expression, exception type ) and
CHECK_THROWS_AS( expression, exception type )

式の評価中に、指定された型の例外がスローされることを期待します。

書こうとすると

TEST_CASE("some test") {
    SECTION("vector throws") {
        std::vector<int> vec;
        REQUIRE_THROWS_AS(vec.at(10), std::logic_error);
    }
}

テストが失敗することを期待していますが、テストに合格したと表示されます。フレームワークにバグがありますか、それとも間違っていますか?

4

1 に答える 1