您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > cppUnit
CppUnit入门学习使用指南
作者:网络转载 发布时间:[ 2013/4/12 13:33:38 ] 推荐标签:

  在 CppUnit 中,一个或一组测试用例的测试对象被称为 Fixture。Fixture 是被测试的目标,可能是一个对象或者一组相关的对象,甚至一个函数。

  有了被测试的fixture,可以对这个 fixture 的某个功能、某个可能出错的流程编写测试代码,这样对某个方面完整的测试被称为TestCase(测试用例)。

  通常写一个 TestCase 的步骤包括:

  1) 对 fixture 进行初始化,及其他初始化操作,比如:生成一组被测试的对象,初始化值;

  2) 按照要测试的某个功能或者某个流程对 fixture 进行操作;

  3) 验证结果是否正确;

  4) 对 fixture 的及其他的资源释放等清理工作。

  对 fixture 的多个测试用例,通常(1)、(4)部分代码都是相似的,CppUnit在很多地方引入了setUp和tearDown虚函数。可以在 setUp 函数里完成(1)初始化代码,而在 tearDown 函数中完成(4)代码。具体测试用例函数中只需要完成(2)、(3)部分代码即可,运行时 CppUnit 会自动为每个测试用例函数运行 setUp,之后运行 tearDown,这样测试用例之间没有交叉影响。

  撰写TestCase必须注意以下几点:

  可以自动执行,不用人手操作

  自动返回测试结果

  的独立,不能与其他TestCase有任何联系。算测试同一个函数的不同功能也需要分开。每个TestCase可以说是一个孤岛

  对 fixture 的所有测试用例可以被封装在一个 CppUnit::TestFixture 的子类(命名惯例是[ClassName]Test)中。然后定义这个fixture 的 setUp 和 tearDown 函数,为每个测试用例定义一个测试函数(命名惯例是 testXXX)。下面是个简单的例子:

  在测试函数中对执行结果的验证成功或者失败直接反应这个测试用例的成功和失败。CppUnit 提供了多种验证成功失败的方式:

  要把对 fixture 的一个测试函数转变成一个测试用例,需要生成一个 CppUnit::TestCaller 对象。而终运行整个应用程序的测试代码的时候,可能需要同时运行对一个 fixture 的多个测试函数,甚至多个 fixture 的测试用例。CppUnit 中把这种同时运行的测试案例的集合称为 TestSuite。而 TestRunner 则运行测试用例或者 TestSuite,具体管理所有测试用例的生命周期。目前提供了 3 类TestRunner,包括:

  下面是一个TestRunner的例子:

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd