2013-06-27 23 views
1

在我们的C++项目中,我们使用分离的可执行文件作为单元测试。我们以如下方式使用它们:在googletest或cppunit下移动参数化测试

test1 -p333 -u512 -t3 -c10000 -m100000000 
test1 -p444 -u256 -t1 -c50000 -m20000000 
test2 -c555 -v -d2 -t2 
test2 -c111 -v -d8 -t4 
test3 ... 

即,我们一次又一次地运行带有不同参数的可执行文件,收集日志并分析它们。目前我们不使用任何测试框架。有时我们改变参数,但很少。

但是,我们将把测试移到Googletest(或CppUnit,我们还没有决定),我不知道如何修改测试以便与gtest一起使用。例如,我可以移动test1和test2来测试灯具,但我不知道如何使用不同的参数运行它(无需更改代码和重新编译)。

是否有任何方法可以在Googletest或Cppunit下移动我们的参数化测试?

回答

3

Google测试支持值参数化测试。它的维基是described。这个wiki示例仅为一个简单的参数类型解释了支持,但是您可以将多值参数打包到一个结构体或一个元组中。

1

使用Google测试,您可以创建自己的main,like describe here,然后您可以管理您的参数。

+0

看起来像我不能运行测试套件一次具有相同的参数,但不同的值。或者你建议多次运行测试套件? – Rom098

+0

随着自己的主体和[此处介绍的功能](http://code.google.com/p/googletest/wiki/AdvancedGuide#Value_Parameterized_Tests),您应该能够做到您想要的。 – nouney