在iOS上运行单元测试时如何排除代码路径?

时间:2013-02-05 16:12:16

标签: ios objective-c unit-testing ocunit

我有一些代码在ocunit中从逻辑测试运行时抛出异常。我想忽略此代码并测试其余功能,而无需设置应用程序测试,也不必分解方法。

例如:

-(void)testMethod {
    BOOL result = NO;
    UIFont * font = [UIFont systemFontOfSize:12]; //throws exception in ocunit
    ...
    return result;
}

如何在排除UIFont创建的单元测试中调用它?

1 个答案:

答案 0 :(得分:0)

在if块中包装UIFont调用并使用NSClassFromString动态加载SenTestCase类。

示例:

-(void)testMethod {
    BOOL result = NO;
    if(!NSClassFromString(@"SenTestCase")) {
        UIFont * font = [UIFont systemFontOfSize:12]; //throws exception in ocunit
    }
    ...
    return result;
}