在GoogleTest中使用Assert和ExpectGoogleTest、Assert、Expect

2023-09-03 13:23:53 作者:帅死一条街

当断言_*宏会导致测试用例终止时,Expect_*宏会继续求值。 我想知道决定使用其中一个的标准是什么。

推荐答案

当必须满足条件时,使用ASSERT-如果不满足,则测试立即停止。如果没有此条件,则在测试的其余部分不具有语义意义时使用此选项。

当条件应该成立时使用EXPECT,但在条件不成立的情况下,我们仍然可以从继续测试中获得价值。(不过,测试最终仍将失败。)

Google Test在Qt中的使用

经验法则是:默认情况下使用EXPECT,除非要求在剩余的测试中使用,在这种情况下,您应该为该特定条件使用ASSERT

这在primer:

中得到响应 通常EXPECT_*是首选,因为它们允许在一次测试中报告多个故障。但是,如果断言失败时继续执行没有意义,则应该使用ASSERT_*