我开始使用“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);
}
}
我预计测试会失败,但它说测试通过了。框架中有错误还是我错了?