如何解决创建不带通配符的 gtest 过滤器
是否可以创建不含通配符的 GoogleTest 过滤器?
TEST_P(TestSuiteA,Blabla) {
// ...
}
INSTANTIATE_TEST_CASE_P(Apple,TestSuiteA,testing::Combine(...));
INSTANTIATE_TEST_CASE_P(Ananas,testing::Combine(...));
还有第二个测试套件 TestSuiteB
TEST_P(TestSuiteB,Kokoko) {
// ...
}
INSTANTIATE_TEST_CASE_P(Apple,TestSuiteB,testing::Combine(...));
我确切地知道我想启动哪些测试,所以我不想使用通配符。
我的过滤器
Apple/TestSuiteA:Apple/TestSuiteB
但它不起作用 -> 0 个测试要启动
但是有了这个
Apple/TestSuiteA.*:Apple/TestSuiteB.*
有效
.* 是什么意思,为什么没有它就不能工作?
谢谢
解决方法
每个测试都需要有一个唯一的名称,而您没有提供准确的名称。这就是为什么没有运行测试的原因。确保您知道测试的确切名称 - 您可以使用 --gtest_list_tests
列出给定测试可执行文件中定义的所有测试用例。然后使用以 --gtest_filter
分隔的确切名称和 :
。要了解有关如何运行多个测试的更多信息,请参阅 gtest advanced documentation。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。