我在我的项目中使用Google Test,而且我习惯使用ASSERT宏(ASSERT_EQ,ASSERT_STREQ等)而不是EXPECT来在第一次失败时停止我的测试。
我通常在调试模式下测试我的项目,一切都找到了,Valgrind没有检测到任何问题(没有内存泄漏,没有错误访问)。
最近,我在发布模式下测试了我的代码(标志-O3用于优化),并且我的一些测试仍然失败。但是,只要我用EXPECT_ *替换所有ASSERT_ *(这应该是非终止断言),我的所有测试都会完美传递。
我的问题是:
对不起,这篇文章没有可复制的代码,但需要复制数十行的十几个文件。