如何运行彼此完全隔离的谷歌测试
How to run google tests completely isolated from each other?
我想在单元测试运行时使用Address Sanitizer来检测运行时错误。然而,Address Sanitizer在发现第一个错误时会终止应用程序,因此我无法在一个报告中看到所有发现的运行时错误的信息。如果我可以独立运行谷歌测试,并且一个测试的终止不会影响其他测试,这是可能的。
您可以在Google test中逐个运行特定的测试用例。
发件人:https://github.com/google/googletest/blob/master/googletest/docs/advanced.md#running-测试的一组用户
默认情况下,谷歌测试程序运行用户定义的所有测试。有时,您只想运行测试的一个子集(例如调试或快速验证更改)。如果设置GTEST_FILTER环境变量或--gtest_ filter标志添加到过滤器字符串,谷歌测试将只运行其全名(以TestCaseName.TestName)匹配过滤器。
过滤器的格式是以":"分隔的通配符模式列表(称为阳性模式)可选地后跟"-"和另一个":"分隔的模式列表(称为负模式)。A.测试匹配筛选器当且仅当它匹配任何阳性图案,但与任何负图案都不匹配。
模式可能包含">"(匹配任何字符串)或"?"(匹配任何单个字符)。为了方便起见,过滤器">-NegativePatterns"也可以写成"-NegativePatterns"。
例如:
/foo_test没有标志,因此运行它的所有测试。
/foo_test--gtest_filter=*由于单个匹配所有*值。
/foo_test--gtest_filter=FooTest.*运行测试用例中的所有内容FooTest。
/foo_test--gtest_filter=Null:构造函数运行任何测试全名包含"Null"或"Constructor"。
/foo_test--gtest_filter=-死亡测试运行所有非死亡测试。
/foo_test--gtest_filter=FooTest.*-FooTest.Bar在测试用例FooTest(FooTest.Bar.除外)
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- 带内存和隔离功能的SQLite
- 尽管测试成功,CppUnit测试核心仍被丢弃.为什么
- 数据成员SFINAE的C++17测试:gcc vs clang
- 如何使用重载的相等(==)运算符向测试用例添加描述
- 为什么二进制搜索在我的测试中不起作用
- 从父数组测试用例构造二叉树失败
- 试图对缓存进行跨步测试,但程序并没有结束
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- OpenGL在启用深度测试时不会丢弃我的碎片
- 为测试目标创建具有不同源文件夹的文件
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- VC++本机单元测试,找不到调试符号
- 换位表导致测试失败(但在游戏中运行良好)
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么
- 用于交叉编译和CMake的预处理器宏的单元测试
- 谷歌测试中的期望值存储在哪里
- 如何在for循环中包含两个索引值的测试条件
- 如何运行彼此完全隔离的谷歌测试