? //TestCase.h,TestCase.cpp
? 多重继承:
? TestCase : public TestLeaf, public TestFixture
? TestLeaf: public Test
? TestCase :对这个 Fixture 的某个功能、某个可能出错的流程编写测试代码,这样对某个方面完整的测试被称为TestCase(测试用例)
CppUnit的原理--- TestCase步骤
? 对 fixture 进行初始化,及其他初始化操作,比如:生成一组被测试的对象,初始化值;( setUp ())
? 按照要测试的某个功能或者某个流程对 fixture 进行操作;
? 验证结果是否正确;
? 对 fixture 的及其他的资源释放等清理工作 ( tearDown())
运行时 CppUnit 会自动为每个测试用例函数运行 setUp,之后运行 tearDown,这样测试用例之间就没有交叉影响
CppUnit的原理--- TestCase注意点
? 可以自动执行,不用人手操作。
? 自动返回测试结果。
? 绝对的独立,不能与其他TestCase有任何联系。就算测试同一个函数的不同功能也需要分开。每个TestCase可以说是一个孤岛。
? 例如
CppUnit的原理--- TestCase例子
CppUnit的原理--- ASSERT
? CPPUNIT_ASSERT(condition):判断condition的值是否为真,如果为假则生成错误信息。
? CPPUNIT_ASSERT_MESSAGE(message, condition):与CPPUNIT_ASSERT类似,但结果为假时报告messsage信息。
? CPPUNIT_FAIL(message):直接报告messsage错误信息。
文章来源于领测软件测试网 https://www.ltesting.net/