在GoogleTest中使用Assert和Expect
当断言_*宏会导致测试用例终止时,Expect_*宏会继续求值。
我想知道决定使用其中一个的标准是什么。
解决方案
当必须满足条件时,使用ASSERT
-如果不满足,则测试立即停止。如果没有此条件,则在测试的其余部分不具有语义意义时使用此选项。
当条件应该成立时使用EXPECT
,但在条件不成立的情况下,我们仍然可以从继续测试中获得价值。(不过,测试最终仍将失败。)
经验法则是:默认情况下使用EXPECT
,除非要求在剩余的测试中使用,在这种情况下,您应该为该特定条件使用ASSERT
。
这在primer:
中得到响应通常EXPECT_*
是首选,因为它们允许在一次测试中报告多个故障。但是,如果断言失败时继续执行没有意义,则应该使用ASSERT_*
。
相关文章