0
我有一個奇怪的問題與XCode 4.2。最近,我決定添加代碼覆蓋率的支持,我的項目,有一個名爲SomeClass
與方法someMethod
類引發的異常:STAssertThrowsSpecificNamed和代碼覆蓋率在XCode 4.2
@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)"
所有其他測試都很好。什麼可能是這種行爲的原因?
不,我沒有。不幸的是,我被迫不檢查確切類型的例外... –
我只是使用GHAssertThrows(),它不檢查類型的異常..但它仍然只是通過異常向前,而不是捕捉它=( –
歡迎來到堆棧溢出,這不是一個答案,請轉發它作爲一個評論請 –