在 google 测试框架中退出 FATAL 断言
exiting on FATAL asserts in google test framework
当我们发现致命断言导致任何进一步测试无用时,是否有任何选项或方法可以完全退出 google 测试框架而不执行任何进一步测试?
库没有提供特定的机制来中止执行,但没有什么能阻止您使用标准断言来中止程序执行。
#include <cassert>
TEST(TestSuite, TestCase)
{
assert(<fatal condition>);
// ...
}
如果致命情况是您可以控制的某些测试设置的结果,您可能有兴趣了解 Google 测试对 Death Tests 的支持。
处理此问题的一种方法是使用 GTEST_FATAL_FAILURE_ 宏。你可以这样使用它
#include <gtest/gtest.h>
TEST(TestSuite, TestCase)
{
// ...
if (somethingHappens) {
GTEST_FATAL_FAILURE_("Text to display when the failure happens");
}
}
触发后,您将在 CLI 中看到它
/home/yourname/yourpath/yourfile.cpp:13: Failure
Text to display when the failure happens
当我们发现致命断言导致任何进一步测试无用时,是否有任何选项或方法可以完全退出 google 测试框架而不执行任何进一步测试?
库没有提供特定的机制来中止执行,但没有什么能阻止您使用标准断言来中止程序执行。
#include <cassert>
TEST(TestSuite, TestCase)
{
assert(<fatal condition>);
// ...
}
如果致命情况是您可以控制的某些测试设置的结果,您可能有兴趣了解 Google 测试对 Death Tests 的支持。
处理此问题的一种方法是使用 GTEST_FATAL_FAILURE_ 宏。你可以这样使用它
#include <gtest/gtest.h>
TEST(TestSuite, TestCase)
{
// ...
if (somethingHappens) {
GTEST_FATAL_FAILURE_("Text to display when the failure happens");
}
}
触发后,您将在 CLI 中看到它
/home/yourname/yourpath/yourfile.cpp:13: Failure
Text to display when the failure happens