xcode的测试覆盖率报告可以让我们直观地看到哪些target,哪些类,哪些方法,方法的哪些路径被测试到了,还是对测试很有帮助的。每次执行测试后,这个数据就会产生,通过导航到”Show the report navigator”,点击被测target的Test记录,右边选择Coverage标签页查看。
要允许这个数据产生,只要分别针对被测target和测试target都勾选上Test页面里面的Gather coverage data选项即可,注意,两个target都要勾选才行。
展开每个被统计的类,可以查看哪些公共的方法被测试了哪些没有,覆盖率应该是统计了 被测试的代码路径/总共代码路径
而不仅仅是被测试的公共方法/总共的公共方法
如果发现那个类的覆盖率不是100%,我们可以双击那个类,进入代码编辑界面,要查看哪个方法是否被测试覆盖,我们可以通过移动鼠标到那个方法的代码所在地方的最右边那个边栏,悬停鼠标,通过红绿色块的指示来看出我们当前的测试代码到底覆盖了哪里还有哪里没有覆盖。绿色代表覆盖到了,红色代表没有覆盖。
这是被测试类的代码:
#import "MyComponent.h"
@implementation MyComponent
- (NSInteger)sayHello{
NSLog(@"Hello....");
return 1;
}
- (NSInteger)sayGoodbye{
NSLog(@