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生效

 

 

转载于:https://www.cnblogs.com/xiaocheng/archive/2009/06/14/1503124.html

C++中进行最大边界测试(也称为边界条件测试或边缘情况测试)是为了验证程序在处理数据集的最大值、最小值以及数据范围的边界条件时是否能正确地运行。这样做有助于找出潜在的问题,比如数组越界、内存溢出、算数运算错误等。下面是一些基本步骤: 1. **整数边界**:对于int类型的变量,要考虑最小值(-2^31)和最大值(2^31 - 1),如果是long long则需要更大范围。 ```cpp int test_min = INT_MIN; int test_max = INT_MAX; ``` 2. **浮点数边界**:检查最小的正常化值接近0.0(例如1e-45),最大正无穷大(INFINITY),最大负无穷大(-INFINITY),以及最小和最大可表示数值。 ```cpp float test_min_float = std::numeric_limits<float>::lowest(); float test_max_float = std::numeric_limits<float>::max(); ``` 3. **数组和容器**:测试数组长度为0、1以及其大小;列表、映射等动态容器的第一个和最后一个元素,空容器。 ```cpp std::vector<int> empty_vec, full_vec(N); empty_vec[0]; // 测试空容器 full_vec.back(); // 测试满容器最后一个元素 ``` 4. **字符串**:检查空字符串、只包含一个字符的字符串以及非常长的字符串。 ```cpp std::string empty_string, single_char_string("a"), long_string(really_long_string()); ``` 5. **函数参数**:针对函数的输入参数提供边界值,比如极小值、极大值,以及边界条件(例如数组大小超过预设限制)。 在编写测试时,记得结合实际业务场景,并使用单元测试框架如Google Test (gtest)或CxxTest来组织测试用例。执行完所有边界测试后,如果程序都能正确处理这些边界值,那么它在大部分情况下应该可以稳定工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值