1. 常用的C++单元测试框架测试驱动开发(TDD)已经是一种非常流行的开发方式了,在Java和.Net中都提供了非常好的单元测试框架,最近研究C++下面的单元测试,发现其实在C++中还是有很多选择:
- CPPUnit:著名的XUnit系列产品之一,熟悉JUnit、NUnit的开发人员可以很快上手。
- CXXTest:需要进行预处理,需要安装Perl或Python。
- Boost Test:功能强大,提供了自动注册和手动注册两种方式,更重要的是来自千锤百炼的Boost库。
- Google Test:Google在去年开源的测试框架,据说其内部上千个项目均采用该框架进行单元测试。
先来看一个简单的Boost Test示例(来自Boost文档):
1#define BOOST_TEST_MODULE example
2
3#include
4
5
6
7int add(int i, int j);
8
9
10
11BOOST_AUTO_TEST_SUITE(minimal_test)
12
13
14
15BOOST_AUTO_TEST_CASE(my_test)
16
17{
18
19 BOOST_CHECK(add(2, 2) == 5);
20
21 BOOST_REQUIRE(add(2, 2) == 4);
22
23 if(add(2, 2) != 4)
24
25 BOOST_ERROR("oops!");
26
27 if(add(2, 2) != 4)
28
29 BOOST_FAIL("oops!");
30
31 if(add(2, 2) != 4)
32
33 throw "oops!";
34
35 BOOST_CHECK_MESSAGE(add(2, 2) == 4, "add(..) result: "
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?