当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

Boost Test学习总结(C++)

    1.常用的C++单元测试框架

    测试驱动开发(TDD)已经是一种非常流行的开发方式了,在Java和。Net中都提供了非常好的单元测试框架,最近研究C++下面的单元测试,发现其实在C++中还是有很多选择:

    CPPUnit:著名的XUnit系列产品之一,熟悉JUnit、NUnit的开发人员可以很快上手。

    CXXTest:需要进行预处理,需要安装Perl或Python.

    Boost Test:功能强大,提供了自动注册和手动注册两种方式,更重要的是来自千锤百炼的Boost库。

    Google Test:Google在去年开源的测试框架,据说其内部上千个项目均采用该框架进行单元测试。

    2.Boost Test起步

    先来看一个简单的Boost Test示例(来自Boost文档):

    测试初步

 1#define BOOST_TEST_MODULE example
 2
 3#include <boost/test/unit_test.hpp>
 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: " << add(2, 2));
36
37    BOOST_CHECK_EQUAL(add(2, 2), 4);
38
39}
40
41
42
43BOOST_AUTO_TEST_SUITE_END()
44
45

 

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接