Неправильные результаты покрытия кода в XCode при тестировании исключений

Я создаю статическую библиотеку для 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не помечается как проверенная.

Есть идеи?

6
задан deanWombourne 15 March 2012 в 12:53
поделиться