我对 XCode 4.2 有一个奇怪的问题。最近我决定为我的项目添加代码覆盖支持,该项目有一个名为SomeClass
with的类,该类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...");
}
到目前为止一切顺利 - 测试通过。为了支持代码覆盖,我必须根据这个源打开“仪器程序流程”和“生成测试覆盖文件”构建设置。但是当我打开“仪器程序流程”时,测试失败并出现以下错误:"raised Some reason... (Expected exception:NSException)"
所有其他测试都运行良好。这种行为的原因可能是什么?