我想用gtest来测试一个断言。 的方法是这样的:Googletest - DeathTest没有捕获Qt应用程序中的断言,如Q_ASSERT等。
void aMethod()
{
Q_ASSERT(1 == geode.getNumDrawables());
DoSomeOtherStuff
}
并且测试是这样的:在linux下
TEST_F(aTestClassDeathTest, aTestName)
{
::testing::FLAGS_gtest_death test_style = "threadsafe";
ASSERT_DEATH({ aMethod;}, "1 == geode.getNumDrawables");
}
这个测试工作正常用gcc。
但在Windows下的visual studio 2010中进行此测试存在问题。
当我运行测试时,打开一个错误窗口。它显示断言失败。当我关闭窗口时,所有测试都完成了。没有测试失败。
我认为gtests开始一个新的过程,导致断言失败并评估过程输出。这工作和测试通过。
但是,当visual studio注意到新进程失败时,它会创建错误窗口。
我该如何抑制错误窗口?