cxxtest单元测试框架应用(一)
1、几种控制CxxTest运行的方法
1>默认情况下,CxxTest在遇到诊断(TS_xx)失败时将运行下一行的代码,如果要控制其停止运行,使用
A、在test用例中使用 CxxTest::setAbortTestOnFail(true);或者在测试集的setup中使用;因为每个用例执行玩会恢复为默认值
B、在命令行中带入启动参数--abort-on-fail
注意:改功能只有在设置了--have-eh 才生效
2>如果注释我们的用例(因为CxxTest是先解析我们的测试用例头文件的)
A、临时重命令测试用例名,testXXX-->xtestXXX
B、使用C++注释方式: //
注意:不支持c语言注释方式 /* ... */ ;
以及不支持#if 0 ... #endif
2、TS_ASSERT_EQUALS()只支持内置的数据类型数据比较,如果新增自定义类型数据的比较
3、测试环境
1>每个用例的环境以及清除环境
public CxxTest::GlobalFixture的setUp()和tearDown()
2>所有用例执行前环境初始化和执行后的清除
public CxxTest::GlobalFixture的setUpWorld()和tearDownWorld()
注意: setUp和tearDown 与TestSuite的setUp和tearDown 不同,这里返回是bool类型。TestSuite返回为void类型
TestSuite针对所有的该测试套下的testcase生效;GlobalFixture中的是针对所有的测试套下的testcase生效