如何在大型C++项目中实现单元测试?

Cha*_*tie 41 c++ unit-testing coding-style

我坚信使用单元测试作为构建大型多平台应用程序的一部分.我们目前正计划在单独的项目中进行单元测试.这有利于保持我们的代码库清洁.但是,我认为这会将测试代码与单元的实现分开.你怎么看待这种方法,有没有像JUnit这样的工具用于c ++应用程序?

Luc*_*tte 22

C++有许多测试单元框架.CppUnit肯定不是我选择的那个(至少在它的稳定版本1.x中,因为它缺少很多测试,并且需要大量冗余代码行).到目前为止,我首选的框架是CxxTest,我计划在某一天评估Fructose.

无论如何,有一些评估C++ TU框架的"论文":


Fer*_*cio 11

这是一种合理的方法.

我使用UnitTest ++Boost.Test获得了非常好的结果

我看过CppUnit,但对我来说,它感觉更像是JUnit的翻译,而不是针对C++的东西.

更新:这些天我更喜欢使用Catch.我发现它有效且易于使用.

  • [doctest](https://github.com/onqtam/doctest)是我对Catch的重新实现,主要关注编译速度 - 查看[FAQ](https://github.com/onqtam/doctest/blob/master /doc/markdown/faq.md#how-is-doctest-different-from-catch)看看他们在哪些方面有所不同 (3认同)