【发布时间】:2014-02-27 10:09:59
【问题描述】:
我有一个测试用例,我想针对不同的数据库状态执行该测试用例。我在夹具中将对象插入数据库(我想保持这种状态)。我想为数据库中的不同配置创建虚拟数据库初始化方法和专用夹具。
我能想到的一种方法是:
void doTest(){
//test code here
}
BOOST_FIXTURE_TEST_CASE(test1, fixture1)
{
doTest();
}
BOOST_FIXTURE_TEST_CASE(test2, fixture2)
{
doTest();
}
BOOST_FIXTURE_TEST_CASE(test3, fixture3)
{
doTest();
}
但是有没有更干净、更整洁的方法呢? 或者也许我不应该完全这样做?我会感谢测试专家的任何建议。
【问题讨论】:
-
您是否正在尝试为 .cpp 文件创建测试脚本?我会创建一个脚本
-
如果您使用 Google Test 而不是 boost 测试,您可以使用“TestWithParam”和“INSTANTIATE_TEST_CASE_P”以不同的值多次实例化/运行测试:code.google.com/p/googletest/wiki/…
-
@KRUKUSA 遗憾的是我不能在这里使用脚本(这些将自动执行)
-
@MichaelAaronSafyan 谢谢,看起来不错,但我必须使用 boost 测试框架。
标签: c++ boost fixtures boost-test mt