iOS开发那些事--编写OCUnit测试方法-应用测试方法
应用测试方法
应用测试是测试应用程序的一些功能,这个功能具体到点击一个按钮触发一个事件,因此它主要是测试表示层。我们看看视图控制器ViewController.m中有那些方法需要测试,然后再来设计测试用例。
输入验证不需要考虑太多,只需要考虑空情况,我们设计了6个用例。
onClick:方法应用测试用例
测试用例
输入条件
月收入总额(元)
输出结果
月应纳个人所得税税额(元)
说明
1
空白0.00测试不输入直接点击计算按钮2
8000345.00测试整数3
8000.59345.12测试小数4
08000.59345.12测试有前导0数据5
40000.50.568195.15测试输入两个小数点6
40000.50..568195.15测试连在一起两个小数点我们看看应用测试类AppllicationTest.h代码:
//测试不输入直接点击计算按钮- (void)testOnClickInputBlank{STAssertNotNil(self.viewController, @”ViewController没有赋值。”);//设定输入值self.viewController.txtRevenue.text = @”";//调用oncClick测试[self.viewController onClick:nil];//取得输出结果NSString* strTax = self.viewController.lblTax.text;//断言STAssertEqualObjects(strTax, @”0.00″, @”期望值是:0.00 实际值是:%@”, strTax);}//测试整数- (void)testOnClickInputIntegerNumber{STAssertNotNil(self.viewController, @”ViewController没有赋值。”);//设定输入值self.viewController.txtRevenue.text = @”8000″;//调用oncClick测试[self.viewController onClick:nil];//取得输出结果NSString* strTax = self.viewController.lblTax.text;//断言STAssertEqualObjects(strTax, @”345.00″, @”期望值是:345.00 实际值是:%@”, strTax);}//测试小数- (void)testOnClickInputOneDot{STAssertNotNil(self.viewController, @”ViewController没有赋值。”);//设定输入值self.viewController.txtRevenue.text = @”8000.59″;//调用oncClick测试[self.viewController onClick:nil];//取得输出结果NSString* strTax = self.viewController.lblTax.text;//断言STAssertEqualObjects(strTax, @”345.12″, @”期望值是:345.12 实际值是:%@”, strTax);}//测试输入两个小数点- (void)testOnClickInputTwoDot{STAssertNotNil(self.viewController, @”ViewController没有赋值。”);//设定输入值self.viewController.txtRevenue.text = @”40000.50.56″;//调用oncClick测试[self.viewController onClick:nil];//取得输出结果NSString* strTax = self.viewController.lblTax.text;//断言STAssertEqualObjects(strTax, @”8195.15″, @”期望值是:8195.15 实际值是:%@”, strTax);}//测试有前导0数据- (void)testOnClickInputPrefixZero{STAssertNotNil(self.viewController, @”ViewController没有赋值。”);//设定输入值self.viewController.txtRevenue.text = @”08000.59″;//调用oncClick测试[self.viewController onClick:nil];//取得输出结果NSString* strTax = self.viewController.lblTax.text;//断言STAssertEqualObjects(strTax, @”345.12″, @”期望值是:345.12 实际值是:%@”, strTax);}//测试连在一起两个小数点- (void)testOnClickInputLinkDot{STAssertNotNil(self.viewController, @”ViewController没有赋值。”);//设定输入值self.viewController.txtRevenue.text = @”40000.50..56″;//调用oncClick测试[self.viewController onClick:nil];//取得输出结果NSString* strTax = self.viewController.lblTax.text;//断言STAssertEqualObjects(strTax, @”8195.15″, @”期望值是:8195.15 实际值是:%@”, strTax);}?
?
这 些测试方法都是非常类似的,首先需要使用STAssertNotNil宏判断一下self.viewController是否为nil,然后 self.viewController.txtRevenue.text设置文本框值,真正运行的时候我们是通过文本框控件输入的。语句 [self.viewController onClick:nil]是测试核心目的,参数是按钮对象指针onClick:中没有使用,传递nil就可以了。输出结果的取得是从lblTax标签控件 中取得的。最后使用STAssertEqualObjects宏断言。
?