close
先聲明
本方法不是最好的
自己用爽的而已
1.首先要先讓 cppunit 將測試完的結果產出 xml 檔
例:
CPPUNIT_NS::TestResult controller;
CPPUNIT_NS::TestResultCollector result;
CPPUNIT_NS::BriefTestProgressListener progress;
controller.addListener( &result );
controller.addListener( &progress );
CPPUNIT_NS::TestRunner runner;
runner.addTest( MyTest::suite() );
runner.run(controller);
CPPUNIT_NS::CompilerOutputter compiler_outputter( &result, CPPUNIT_NS::stdCOut() );
compiler_outputter.write();
std::string xsl = "./report.xsl";
std::ofstream file("./tests.xml");
CPPUNIT_NS::XmlOutputter xml_outputter(&result, file, "utf-8");
xml_outputter.setStyleSheet(xsl);
xml_outputter.write();
2.接著要讓 xml 檔顯示成 HTML 的樣子的話要有 xsl,xsl 只要跟 xml 放在一起,
再打開 xml 就會顯示成 xsl 所定義的 HTML 的樣子,xsl 想要的話可以自己寫,
當然像我這樣的懶人一定是用別人寫好得啦~
到 cppunit 的 sourceforge 網站找到 cppunit-cvs-1.12.0.tar.gz 下載
解壓縮進入 contrib\xml-xsl 資料夾裡
就會發現有寫好得 report.xsl 囉!
3.最後在 CruiseControl 中用 artifacts 的方式將 cppunit 產生的 tests.xml 和 下載來的 report.xsl 放在一起
然後在 dashboard 上直接開 xml 起來看就可以了!
CruiseControl 的 config.xml artifacts 例:
本方法不是最好的
自己用爽的而已
1.首先要先讓 cppunit 將測試完的結果產出 xml 檔
例:
CPPUNIT_NS::TestResult controller;
CPPUNIT_NS::TestResultCollector result;
CPPUNIT_NS::BriefTestProgressListener progress;
controller.addListener( &result );
controller.addListener( &progress );
CPPUNIT_NS::TestRunner runner;
runner.addTest( MyTest::suite() );
runner.run(controller);
CPPUNIT_NS::CompilerOutputter compiler_outputter( &result, CPPUNIT_NS::stdCOut() );
compiler_outputter.write();
std::string xsl = "./report.xsl";
std::ofstream file("./tests.xml");
CPPUNIT_NS::XmlOutputter xml_outputter(&result, file, "utf-8");
xml_outputter.setStyleSheet(xsl);
xml_outputter.write();
2.接著要讓 xml 檔顯示成 HTML 的樣子的話要有 xsl,xsl 只要跟 xml 放在一起,
再打開 xml 就會顯示成 xsl 所定義的 HTML 的樣子,xsl 想要的話可以自己寫,
當然像我這樣的懶人一定是用別人寫好得啦~
到 cppunit 的 sourceforge 網站找到 cppunit-cvs-1.12.0.tar.gz 下載
解壓縮進入 contrib\xml-xsl 資料夾裡
就會發現有寫好得 report.xsl 囉!
3.最後在 CruiseControl 中用 artifacts 的方式將 cppunit 產生的 tests.xml 和 下載來的 report.xsl 放在一起
然後在 dashboard 上直接開 xml 起來看就可以了!
CruiseControl 的 config.xml artifacts 例:
全站熱搜
留言列表