是否有用于夹具级设置/拆卸的等效物
Is there a gtest equivalent for fixture-level setup/teardown?
所以,我知道gtest有"字面上"的夹具,但是构造函数/析构函数和设置/拆卸函数将在每次测试后执行,而不是在夹具中的整组测试之后执行。
我可以想到解决此问题的方法,但是是否有一些我没有找到的内置支持?
您可以在测试夹具类中定义静态方法SetUpTestSuite
和TearDownTestSuite
:
struct MyTest: ::testing::Test {
static void SetUpTestSuite() {
}
static void TearDownTestSuite() {
}
};
有关这方面的更多信息,请访问Googletest维基。
请注意这些静态方法名称的拼写。
Google 测试
支持在测试(测试方法)级别、套件(类)级别以及程序级别进行设置和拆卸。后者是您要查找的那个:
https://github.com/google/googletest/blob/master/docs/advanced.md#global-set-up-and-tear-down 介绍如何派生和注册自己的环境夹具类,实现设置和拆卸方法,这些方法在执行测试运行程序期间仅调用一次。
简而言之,您可以执行类似操作:
class SetupEnvironment : public ::testing::Environment
{
public:
virtual ~SetupEnvironment();
void SetUp() override { ... }
void TearDown() override { ... }
};
int main(int argc, char* argv[])
{
testing::AddGlobalTestEnvironment(new SetupEnvironment());
return RUN_ALL_TESTS();
}
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 用于访问容器<T>数据成员的正确 API
- 重载操作程序时出错>>用于类中的字符串 memebr
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- C++中的cin.ignore()函数不适用于整个流
- 没有用于初始化C++中的变量模板的匹配构造函数
- 用于C++中带有数组和指针的循环
- 为什么它不适用于Visual 2019的原因
- 使用在用于SFINAE的void_t中具有参数的方法
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 重载==不适用于二进制树
- Insert函数不适用于2 if语句C++
- 用于矢量处理的多个线程
- 使外部项目可用于find_package CMake
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 为什么模数运算符不适用于该代码
- 并行用于C++17中数组索引范围内的循环
- 将fold表达式与std::一起用于两个元组
- 是否有用于夹具级设置/拆卸的等效物