Я предлагаю вам добавить логический ivar в ваш набор тестов, который устанавливается в setUp, когда все настроено правильно.NSAssert затем заменяется установкой этой переменной, например.помечено STAssert ... в случае, если что-то пойдет не так, что это приведет к сбою вашего теста.
В каждом тестовом примере вы проверяете, что этот ivar верен перед выполнением проверок, например, используя что-то вроде этого:
-(void)setUp {
// Perform the setup of the testbed and setting testBedStable accordingly
STAssertTrue(testBedStable, @"Failed to setup test environment";
}
-(void)testSomething {
if(testBedStable) {
// Perform tests
}
else
STFail(@"Unable to perform test case");
}
Этот метод гарантирует, что tearDown всегда вызывается, и вы можете очистить соответствующим образом.