gpt4 book ai didi

catch-unit-test - catch c++ 测试框架中的 REQUIRE_NOTHROW 点

转载 作者:行者123 更新时间:2023-12-05 02:18:16 24 4
gpt4 key购买 nike

REQUIRE_NOTHROW 断言的意义何在?如果我只是放置一个语句而不将其包装在任何断言宏中,如果它无论如何都会抛出它会失败吗?

最佳答案

这是 TEST_CASE 失败和单个断言失败之间的区别。 REQUIRE 宏确保下一行在失败时不被执行。相反,CHECK 宏可以将测试用例标记为失败但继续。

考虑这个例子:

REQUIRE_NOTHROW(parseInput(validInput));
REQUIRE_THROWS(parseInput(errorInput));
REQUIRE_THROWS(parseInput(NULL));

因此我们明确要求传递有效输入不会导致异常,但错误输入会。如果我们不使用 REQUIRE_NOTHROW() 宏,那么测试会失败,但我们需要破译它失败的地方——异常可能来自其他测试代码行。

关于catch-unit-test - catch c++ 测试框架中的 REQUIRE_NOTHROW 点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45931968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com