0

我创建了一个 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因为substringClassName 存在而被执行?如果是这样,那么如何摆脱这个问题?请帮我。

4

1 回答 1

0

在这里找到了答案......但我非常非常不高兴,谷歌测试是这样运行的。

• ./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.

于 2013-09-11T10:12:05.537 回答