How to run specific test cases in GoogleTest(如何在 GoogleTest 中运行特定的测试用例)
问题描述
我正在尝试为我的项目编写一个函数/方法,它会询问用户您要运行哪些所有测试用例?它看起来像下面...,
I am trying to write a function/method for my project, which will ask to user which all test cases are you going to run? It looks like below...,
Test_Cases_1
|_TestNo1
|_TestNo2....so on
Test_Cases_2
|_TestNo1
|_TestNo2....so on
....
....so on
Test_Cases_N
|_TestNo1
|_TestNo2....so on
那么,现在的挑战是在运行项目时,它应该提示我您想要执行的所有测试用例是什么?如果我选择 Test_Cases_1 和 Test_Cases_N.然后它应该执行这两个测试用例,并且应该排除 Test_Cases_2 to .... 中的所有其他测试用例.在结果窗口中,我也想看到 Test_Cases_1 和 Test_Cases_N 的结果.
So, now the challenge is while running the project it should prompt me what all test cases you would like to execute?
If I select Test_Cases_1 and Test_Cases_N. Then it should execute these two test cases and should exclude all other from Test_Cases_2 to ..... In result window also I would like to see the results of Test_Cases_1 and Test_Cases_N.
所以,如果我看到GoogleTest,有一个方法叫做test_case_to_run_count();但是所有的 test cases 都使用 Test_F() 方法注册.所以,我做了很多分析,但仍然没有找到任何解决方案.请帮帮我.
So, if I will see the GoogleTest, there is a method called test_case_to_run_count();
But all the test cases are getting registered with Test_F() method.
So, I did lots of analysis, but still did not find any solution.
Please help me.
推荐答案
您可以使用 高级选项 用于运行 Google 测试.
You could use advanced options to run Google tests.
要仅运行一些单元测试,您可以使用 --gtest_filter=Test_Cases1* 命令行选项,其值接受 * 和 ?用于匹配多个测试的通配符.我认为它会解决您的问题.
To run only some unit tests you could use --gtest_filter=Test_Cases1* command line option with value that accepts the * and ? wildcards for matching with multiple tests. I think it will solve your problem.
更新:
嗯,问题是如何运行特定的测试用例.将 gtest 与您的 GUI 集成是另一回事,我无法真正评论,因为您没有提供您的方法的详细信息.不过我相信以下方法可能是一个好的开始:
Well, the question was how to run specific test cases. Integration of gtest with your GUI is another thing, which I can't really comment, because you didn't provide details of your approach. However I believe the following approach might be a good start:
- 通过使用
--gtest_list_tests 运行测试来获取所有测试用例 - 将此数据解析到您的 GUI 中
- 选择要运行的测试用例
- 使用选项
--gtest_filter运行测试可执行文件
- Get all testcases by running tests with
--gtest_list_tests - Parse this data into your GUI
- Select test cases you want ro run
- Run test executable with option
--gtest_filter
这篇关于如何在 GoogleTest 中运行特定的测试用例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 GoogleTest 中运行特定的测试用例
基础教程推荐
- 非静态 const 成员,不能使用默认赋值运算符 2022-10-09
- 为什么 typeid.name() 使用 GCC 返回奇怪的字符以及如 2022-09-16
- 我应该对 C++ 中的成员变量和函数参数使用相同的名称吗? 2021-01-01
- 为什么 RegOpenKeyEx() 在 Vista 64 位上返回错误代码 2021-01-01
- 为什么派生模板类不能访问基模板类的标识符? 2021-01-01
- 通过引用传递 C++ 迭代器有什么问题? 2022-01-01
- 如果我为无符号变量分配负值会发生什么? 2022-01-01
- GDB 显示调用堆栈上函数地址的当前编译二进制文 2022-09-05
- CString 到 char* 2021-01-01
- 初始化列表*参数*评估顺序 2021-01-01
