我怎么能期望谷歌测试多次失败?我在我测试的代码中测试断言时使用它.因为这些断言不是致命的,所以可能发生多重断言.
以下测试用例重现了这一点:
void failTwice()
{
EXPECT_TRUE(false) << "fail first time";
EXPECT_TRUE(false) << "fail second time";
}
TEST_F(FailureTest, testMultipleFails)
{
EXPECT_NONFATAL_FAILURE(failTwice(), "time");
}
这会产生以下输出:
gtest/src/gtest.cc:657: Failure
Expected: 1 non-fatal failure
Actual: 2 failures
FailureTest.h:20: Non-fatal failure:
Value of: false
Actual: false
Expected: true
fail first time
FailureTest.h:20: Non-fatal failure:
Value of: false
Actual: false
Expected: true
fail second time
问题是:预计:1次非致命性失败
我怎么能告诉谷歌测试期望多次失败?
最佳答案 我有同样的问题,一种方法是:
EXPECT_NONFATAL_FAILURE({
EXPECT_NONFATAL_FAILURE(failTwice(), "");
},"Actual: 2");
使用“Actual:2”,我设定了2次非致命故障的预期.一个缺点是很难分辨出您期望的错误消息.