我正在使用谷歌测试框架测试具有随机输入数据的算法的特定实现。我想将相同的随机输入数据用于同一算法的另一个实现。我使用两个单独的测试用例来测试这两个实现。有没有办法将随机输入数据从一个测试用例共享到另一个测试用例。
答案 0 :(得分:4)
在测试夹具类中遵循静态方法:
static void SetUpTestCase()
static void TearDownTestCase()
分别用于获取和发布共享资源。
当然,表示共享对象的成员变量必须定义为测试夹具类的静态成员(静态方法只能访问静态成员)。不要忘记全局变量,比如那些成员的声明(如果你没有像那样声明它们,编译器会抛出错误。)
在执行第一个测试之前,Google Test Framework会调用 SetUpTestCase()
,在执行最后一个测试之后调用TearDownTestCase()
。
我提到的一切都在上面的参考文献中有详细描述。那里也有例子。
答案 1 :(得分:2)
您可以按照文档中的说明使用Test Fixture:
TEST_F(test_case_name, test_name) {
... test body ...
}
测试夹具保留使用SetUp()
函数创建的数据,在测试用例的运行之间进行修改。