【发布时间】:2020-09-11 18:10:55
【问题描述】:
Google 测试断言ASSERT_* 应该以ASSERT_EQ(expected, actual) 的形式使用,其中第一个参数是预期值,第二个是实际值。但是我经常在现有的代码库中看到这些参数是相反的,就像在这段代码中一样:
TEST(test, test)
{
ASSERT_EQ(foo(), 1);
}
这几乎没问题,但在测试失败的情况下会产生一些奇怪的错误消息,例如:“foo() 的结果是预期的,但实际上它是1”。这似乎是一个小问题,但有没有办法在编译时强制预期和实际的正确顺序?
【问题讨论】:
-
AFAIK - 新版本的 google-test 并非如此。我的意思是——在较新的版本中——这些方面都没有被视为预期的,也不是实际的。只需更新您的谷歌测试版本。
标签: c++ unit-testing googletest