В наших модульных тестах приложения для iPhone у нас есть один набор тестов, который содержит все классы тестовых случаев. В наборе setUp/tearDown мы делаем общую настройку/удаление, которая создает/удаляет некоторые объекты в БД. В setUp мы используем NSAsserts, чтобы убедиться, что все прошло правильно. Проблема в том, что если что-то пойдет не так в setUp, NSAssert вызовет сбой, и tearDown не будет вызван, оставив БД неочищенной.
Каков наилучший способ убедиться, что tearDown всегда вызывается, чтобы БД всегда была чистой? Может быть, не использовать NSAsserts? Но тогда как сказать среде тестирования не запускать тестовые случаи?
Спасибо.