亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > cppUnit
CppUnit Cookbook中文版
作者:網絡轉載 發布時間:[ 2014/1/2 10:04:17 ] 推薦標簽:CppUnit 單元測試

Suite
為了建立多個用例并且讓它們一次全部運行,你該如何做呢?
CppUnit提供了一個TestSuite類來同時運行任意個用例。
在上面我們看到了如何運行一個測試用例。
為了創建含有兩個或更多用例的suite,你應該這么辦:
CppUnit::TestSuite suite;
CppUnit::TestResult result;
suite.addTest( new CppUnit::TestCaller<ComplexNumberTest>(
"testEquality",
&ComplexNumberTest::testEquality ) );
suite.addTest( new CppUnit::TestCaller<ComplexNumberTest>(
"testAddition",
&ComplexNumberTest::testAddition ) );
suite.run( &result );

TestSuites不必僅僅含有測試用例的caller.它們可以包含實現Test 接口的任意對象。例如:你可以在你的代碼中創建一個TestSuite,我也可以在我的代碼里建立一個,我們通過建立一個同時包含它們兩個的TestSuite使它們得以同時運行。
CppUnit::TestSuite suite;
CppUnit::TestResult result;
suite.addTest( ComplexNumberTest::suite() );
suite.addTest( SurrealNumberTest::suite() );
suite.run( &result );

TestRunner
你該如何運行你的用例并收集測試結果呢?

一旦你有了一個TestSuite, 你會想運行它。CppUnit提供了定義這些suite并顯示結果的工具。你可以通過在一個TestSuite中加入一個名為suite的靜態的method使你的suite與TestRunner建立聯系。

例如,為了使TestRunner可以看到一個ComplexNumberTest suite,在ComplexNumberTest中加入一下代碼:
public:
static CppUnit::Test *suite()
{
CppUnit::TestSuite *suiteOfTests = new CppUnit::TestSuite( "ComplexNumberTest" );
suiteOfTests->addTest( new CppUnit::TestCaller<ComplexNumberTest>(
"testEquality",
&ComplexNumberTest::testEquality ) );
suiteOfTests->addTest( new CppUnit::TestCaller<ComplexNumberTest>(
"testAddition",
&ComplexNumberTest::testAddition ) );
return suiteOfTests;
}

為了使用這個版本,在Main.cpp中包含以下頭文件:
#include <cppunit/ui/text/TestRunner.h>
#include "ExampleTestCase.h"
#include "ComplexNumberTest.h"

然后在main()中加入addTest(CppUnit::Test *)的調用:
int main( int argc, char **argv)
{
CppUnit::TextUi::TestRunner runner;
runner.addTest( ExampleTestCase::suite() );
runner.addTest( ComplexNumberTest::suite() );
runner.run();
return 0;
}

TestRunner會運行這些用例。如果所有的測試都順利通過,你會得到一個反饋。如果任何一個測試沒有通過,你會得到以下信息:
*失敗的測試用例的名字
*包含這個測試源文件的名字
*錯誤發生的行號
*發現錯誤的CPPUNIT_ASSERT()調用中的所有文字。

Helper Macros
你可能已經注意到了,實現fixture中的static suite()是一個要反復要做的,并且容易出錯的任務。我們可以使用一組寫 test fixture的宏來自動執行這些靜態的suite method.

上一頁12345下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 亚1洲二区三区四区免费 | 日本亚洲国产精品久久 | 色香蕉在线| 色综合天天娱乐综合网 | 中国黄色毛片 | 美女图片在线视频精品播放 | 欧美人一级淫片a免费播放 欧美人妖猛交 | 色视频在线观看视频 | 欧美日韩在线视频一区 | 久草手机在线视频 | 韩国2023理伦片免费观看 | 日日射天天操 | 国产免费播放一区二区 | 99精品欧美一区二区三区 | 最近中文字幕大全免费版在线 | 日韩高清欧美精品亚洲 | 国产成人精品视频播放 | 国产一级一级一级国产片 | 欧美高清一级 | 亚洲欧美激情精品一区二区 | 99re久久在热线播放最新地址 | 天堂中文资源在线8 | 黄视频在线观看网站 | 国产尻逼| 一级毛片在线看在线播放 | 欧美成人激情 | 免费动漫无遮挡曰批视频软件 | 欧美日本一区 | 欧美日韩在线视频专区免费 | 好黄好猛好爽好痛的视频 | 成人一级视频 | 最近更新中文字幕2019视频 | 欧美成人私人视频88在线观看 | 欧美一区二区三区视频在线 | 中文字幕在线观看2019 | 丝袜脚在线 | 第九色激情 | 尹人成人 | 日韩色影视 | 男女第一次弄进去的视频 | 欧美黄色一级片免费看 |