我怎么能指望谷歌测试会有多个失败呢?

How can I expect multiple failures in google test?(我怎么能指望谷歌测试会有多个失败呢?)

本文介绍了我怎么能指望谷歌测试会有多个失败呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎么能预期Google测试会有多个失败?我在测试被测代码中发生断言时使用它。因为这些断言不是致命的,所以可能会发生多个。

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

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个非致命故障

如何告诉Google测试预期会有多个失败?

推荐答案

我遇到了同样的问题,一种有效的方法是:

EXPECT_NONFATAL_FAILURE({
    EXPECT_NONFATAL_FAILURE(failTwice(), "");
},"Actual: 2");

使用"Actual:2",我设置了将发生2个非致命故障的预期。一个缺点是不容易判断您预期的是哪些错误消息。

这篇关于我怎么能指望谷歌测试会有多个失败呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:我怎么能指望谷歌测试会有多个失败呢?