单元测试的作用: 它可以测试每个可执行的单元,在我们APP中每个可执行的单元都是一个函数,我们可以对函数可以进行测试.
步骤:
1.打开Xcode新建一个单元测试的工程,新建一个Tools的工具类,并写两个方法.

2.新建一个Targer,默认生成一个UnitTestDemoTests.m的文件

各个函数的含义:
///每个测试用例之前都会调用的方法
- (void)setUp {
[super setUp];
}
///每个测试用例结束之后都会调用的方法
- (void)tearDown {
[super tearDown];
}
///测试用例的方法
- (void)testExample {
}
///测试性能的方法
- (void)testPerformanceExample {
[self measureBlock:^{
}];
}
3.我们想要测试Tools里面的代码,我们需要在创建一个测试用例.我们想分方法测试,只需要自己写一个方法即可,但是需要以test开头.

这里我们可以写自己的测试方法.

点击方法前面的黑色箭头,或者直接按command+u快捷键运行测试用例.可以看到测试通过的提示框.


这里可以看到内部函数的耗时都可以到看,这个是测试函数性能的.

单元测试中还有一个代码覆盖率的问题,例如:现在我的Tools里面有两个函数,但是我只测试了add的函数,并没有测试device的函数,所以不能保证这个工具类非常独立,非常完整.我们也可以通过Coverage查看代码覆盖率.

但是当前的话没有覆盖数据,这里需要设置下:

再次command+u运行一下测试用例,再查看就可以带到代码的详细覆盖率了.


网友评论