问题描述
我想为我的开源C ++项目设置一个持续集成和测试框架。所需的功能是:
1。检查源代码
2.运行所有单元和其他测试
3.运行性能测试(这些测量软件质量 - 例如系统完成测试需要多长时间)
4.基于3.和4.生成报告
5.存档报告以供将来参考
要实现这一点,你会推荐哪个测试框架和什么持续集成过程?现在我倾向于Google测试框架(我知道一些单元测试框架的比较)和测试以及进行持续集成。但我不知道Cruisecontrol是否允许轻松集成性能指标。
编辑:要回答Wilhelmtell,代码应该与Windows和Linux兼容。
我现在使用CruiseControl和UnitTest ++来完成这项任务。UnitTest ++是非常好的,虽然我觉得有时受到限制在角落附近。至少它比cppunit好10倍。仍然没有尝试google测试框架,它将是我的下一个项目。
我一直非常失望的CruiseControl。有几个错误和问题在邮件列表上从来没有回答。许多用于管理程序执行和日志记录的默认功能不令人满意。我们不得不写我们自己的报告生成,我们自己的stdout和stderr捕获,我们自己的状态邮件。除了定期运行测试并将它们收集到中央Web服务器外,CruiseControl没有多少功能。
I want to set up a continuous integration and test framework for my open source C++ project. The desired features are:
1. check out the source code
2. run all the unit and other tests
3. run performance tests (these measure the software quality - for example how long does it take the system to complete the test)
4. produce a report based on 3. and 4. daily
5. archive the reports for future reference
To implement this, which test framework and what continuous integration process would you recommend? Right now I am leaning towards Google Test Framework (I am aware of some of the comparisons of unit test frameworks discussed in other questions) for tests and Cruisecontrol for continuous integration. But I don't know if Cruisecontrol allows easy integration of performance metrics.
Edit: To answer Wilhelmtell, code should work with both Windows and Linux.
I am using CruiseControl and UnitTest++ today for exactly this task.
UnitTest++ is really nice although I feel sometimes limited by it around the corner. At least it is 10 times better than cppunit. Still haven't tried the google testing framework, it will be for my next project.
I have been extremely disappointed by CruiseControl. There are a few bugs and questions asked on the mailing list were never answered. Many of the default "features" to manage program execution and logging were not satisfying. We had to write our own report generation, our own stdout and stderr capturing, our own status mailer. There is not much left for CruiseControl, apart from running test at regular intervals and gathering them in a central web server.
这篇关于c ++与性能指标的持续集成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!