2013-06-27 43 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