c – 我怎么能期望谷歌测试多次失败?

我怎么能期望谷歌测试多次失败?我在我测试的代码中测试断言时使用它.因为这些断言不是致命的,所以可能发生多重断言.

以下测试用例重现了这一点:

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次非致命故障的预期.一个缺点是很难分辨出您期望的错误消息.

点赞