我正在为iOS创建一个静态库,并尝试获取其单元测试的代码覆盖率数据。我正在使用CoverStory来可视化生成的代码覆盖率文件。
对于大多数测试,我得到了正确的信息。
然而,任何验证应该抛出异常的测试都没有被标记为已测试。
例如,该方法:
对于大多数测试,我得到了正确的信息。
然而,任何验证应该抛出异常的测试都没有被标记为已测试。
例如,该方法:
- (void)shouldThrow:(BOOL)throw {
if (throw)
@throw [NSException exception...];
NSLog(@"not thrown");
}
使用测试进行测试
- (void)testShouldThrow {
STAssertThrows( [myObject shouldThrow:YES], @"Should have thrown an exception");
STAssertNoThrow( [myObject shouldThrow:NO], @"Should not have thrown an exception");
}
经过测试,所有的测试都通过了(即异常被正确地抛出)。然而,代码覆盖率并没有显示为100% - 带有 @throw
的行没有被标记为已测试。
有什么想法吗?