多年来,我一直在使用各种xunit测试(从2000年代初期的cppunit开始)。在所有情况下,都非常容易设置故障的断点:有一个函数可以指示检测到的故障:
b'atf :: tests :: tc :: fail(std :: string const&)' 命令 上1 结束
gtest似乎有很大的不同,用gtest做相同的既定做法是什么?
答案 0 :(得分:1)
使用gtest进行相同操作的既定做法是什么?
阅读gtest.cc
时,我看到的最接近的是--gunit_break_on_failure
,这将导致代码在x86 / Linux上执行INT3
陷阱,并在Windows上调用DebugBreak
。
答案 1 :(得分:0)
如果您需要在测试开始时休息以观察某些内容,请首先get the symbol names present in the executable,然后使用grep表示感兴趣的测试名称,例如:
materials
如果您想在这里休息:
nm -C myclass_test | grep MyTest0
在该grep的结果中,最有前途的似乎是:
TEST(MainTest, MyTest0) {
EXPECT_EQ(1, 1);
}
等等:
0000000000407c64 T MainTest_MyTest0_Test::TestBody()
和:
gdb myclass_test
然后这让我进入了所需测试的开始。
在修订版2上测试过with this setup。