我对XCode 4.2有一个奇怪的问题。最近我决定为我的项目添加代码覆盖率支持,该项目有一个名为SomeClass
的类,方法someMethod
会引发异常:
@interface SomeClass : NSObject
- (void)someMethod;
@end
@implementation SomeClass
- (void)someMethod {
[NSException raise:NSInternalInconsistencyException format:@"Some reason..."];
}
@end
该类由位于测试项目中的SomeClassTests
进行测试,该项目具有以下方法:
- (void)testSomeMethod {
SomeClass *sClass = [[SomeClass alloc] init];
STAssertThrowsSpecificNamed([sClass someMethod], NSException, NSInternalInconsistencyException, @"Some description...");
}
到目前为止一切顺利 - 测试通过了。为了支持代码覆盖,我必须根据this source启用“仪器程序流程”和“生成测试覆盖率文件”构建设置。但是当我打开时
“仪器程序流程”测试失败,出现以下错误:"raised Some reason... (Expected exception:NSException)"
所有其他测试都运行良好。这种行为可能是什么原因?
答案 0 :(得分:0)
我只是通过升级到最新的xcode来解决这个问题。