我创建了一个GUI来选择测试用例。测试用例在Google Test Framwework
中完成。这里的问题是如果我选择一个测试用例,那么另一个看起来几乎相似的测试用例就是被选中并自动执行,如下所示,
TEST_F(ClassName, Test1){}
TEST_F(ClassName, Test2){}
如果我选择ClassName,那么它只运行属于ClassName
类的测试用例。
如果我有类名,
class ClassNameXYZ{};
TEST_F(ClassNameXYZ, TestA){}
TEST_F(ClassNameXYZ, TestB){}
因此,在GUI中我得到tree like
。
ClassName
|_Test1
|_Test2
ClassNameXYZ
|_TestA
|_TestB
.....
.....
如果我选择ClassName
,那么它也会运行ClassNameXYZ
。
但是,当我选择ClassNameXYZ
时,它不会运行ClassName
。
所以我想知道ClassNameXYZ
被执行因为substring
ClassName存在于其中?
如果是这样,那么如何摆脱这个问题呢?
请帮帮我。
答案 0 :(得分:0)
找到答案here ... 但我非常不高兴,谷歌测试正在这样运行。
• ./foo_test --gtest_filter=*Null*:*Constructor* Runs any test whose full name contains either "Null" or "Constructor".
谷歌人应该调查这个问题。因为可能存在4-5
个测试用例几乎同名的情况,所以如果你想要一个过滤器,这将是一个大问题。
像。
TestCase
|_Test1
|_Test11
|_Test122
|_Test1345
|_Test1346
如果某人过滤了TestCase.Test1
,则所有测试用例都会运行,因为所有测试用例都使用TestCase.Test1XXXX
。