如何将Google Test测试用例标记为"预计会失败"?

zr.*_*zr. 9 c++ unit-testing googletest

我想为尚未实现的功能添加一个测试用例,并将此测试用例标记为" 我可以失败 ".

有没有办法做到这一点?

编辑:我希望测试执行,只要测试用例处于"预期的失败"状态,框架就应该验证它是否失败.

编辑2:似乎我感兴趣的功能在google-test中不存在,但它确实存在于Boost单元测试框架和LIT中.

Mic*_*ael 6

EXPECT_NONFATAL_FAILURE 是您想要包装预期失败的代码的内容。请注意,您必须包含 gtest-spi.h 头文件:

#include "gtest-spi.h"

 // ...

TEST_F( testclass, testname )
{
EXPECT_NONFATAL_FAILURE(
      // your code here, or just call:
      FAIL()
      ,"Some optional text that would be associated with"
      " the particular failure you were expecting, if you"
      " wanted to be sure to catch the correct failure mode" );
}
Run Code Online (Sandbox Code Playgroud)

链接到文档:https://github.com/google/googletest/blob/955c7f837efad184ec63e771c42542d37545eaef/docs/advanced.md#writing-failures

  • 还有一个“EXPECT_FATAL_FAILURE”调用用于处理“ASSERT_...”失败 (2认同)

Jos*_*eld 5

您可以在测试名称前添加DISABLED_.

  • 但我想测试要执行,并且框架应该预期它会失败 (7认同)
  • 是的,这是 py.test 套件的标准部分,术语为“xfail”。这非常有用。 (5认同)
  • 我希望框架能够总结有多少测试通过并符合预期,以及有多少测试失败了。 (4认同)
  • @zr。那么如果测试通过了,你的测试就应该失败吗?如果是这样的话,那么您只想否定您的测试。 (2认同)