有没有人使用Hudson作为C++项目的Continuous-Integration服务器,使用UnitTest ++作为测试库?
你究竟是如何设置它的?
我知道之前有过几个关于持续集成的问题,但我希望这个问题的范围更窄.
编辑:我会澄清我正在寻找的东西.单元测试失败时,我已经将构建集设置为失败.我正在寻找像Hudson的JUnit支持.UnitTest ++可以创建XML报告(参见此处).那么,也许如果有人知道如何将这些报告翻译成JUnit兼容,那么Hudson会知道怎么吃掉它吗?
我们正积极地在我的工作场所这样做.
目前,我们使用自由式软件项目:
每隔15分钟检查我们的Subversion存储库以获取更新
调用Windows批处理文件以清理和构建解决方案文件
项目文件构建并运行单元测试作为构建后事件
测试返回单元测试失败main()
,因此被视为构建错误
我还测试了一个使用UnitTest ++附带的XmlTestReporter来生成输出文件的配置.该xUnit的插件本身支持这个输出,你可以将任何其他输出一起,虽然我不得不改变与它排在0.1.3版本,以获得记录在测试历史持续时间XSL文件.
关于我们的整合,我们希望改进很多事情; 构建日志很长,难以解析,没有着色或突出显示等,但到目前为止它仍然对我们有益.
我检查了xUnit插件,就像Patrick Johnmeyer在接受的答案中建议的那样.为了完整性,这里是驱动程序代码:
#include#include "UnitTest++.h" #include "XmlTestReporter.h" int main( int argc, char *argc[] ) { std::ofstream f("file.xml"); UnitTest::XmlTestReporter reporter(f); return UnitTest::RunAllTests(reporter, UnitTest::Test::GetTestList(), NULL, 0); }
在Hudson配置中,选中"发布测试工具结果报告"并将其指向 "file.xml"