Отладка тестов

Все стандартные средства отладки XCode могут использоваться при выполнении тестов.

Тестовый поток операций отладки

Первая вещь определить состоит в том, является ли проблемой, вызывающей отказ, ошибка в коде, который Вы тестируете или ошибка в выполняющемся методе тестирования. Тестовые отказы могли указать на несколько различных видов проблем — или с Вашими предположениями, требованиями для кода, тестирующегося, или с сам тестовый код — настолько отлаживающие тесты могут охватить несколько различных потоков операций. Однако Ваши методы тестирования являются обычно относительно небольшими и прямыми, таким образом, вероятно, лучше исследовать сначала, что тест предназначается, чтобы сделать и как это реализовано.

Вот некоторые общие вопросы для учета:

Предположение, что Ваши тестовые предположения корректны и метод тестирования, правильно формируется, проблема тогда должна быть в протестированном коде. Пора определить местоположение и фиксировать его.

Протестируйте определенные средства отладки

XCode имеет несколько специальных инструментов, специально разработанных для помощи Вам в определении местоположения и отладке кода при использовании тестов.

Тестовая точка останова отказа

В навигаторе точки останова нажмите кнопку Add (+) и выберите Add Test Failure Breakpoint для установки специальной точки останова прежде, чем запустить тестовый прогон.

../Art/twx-brkptnav_test-failure-brkpt_2x.png

Когда метод тестирования отправляет утверждение отказа, эта точка останова останавливает тестовый прогон. Это дает Вам возможность найти расположение, где проблема существует быстро путем остановки права исполнения после точки отказа в тестовом коде. Вы видите в этом представлении testAddition метод тестирования, что строка сравнения была вынуждена утверждать отказ путем установки эталона для сравнения с неправильной строкой. Тестовая точка останова отказа обнаружила утверждение отказа и остановила тестовое выполнение в этой точке.

../Art/twx-brkptnav_test-failure-brkpt-2_2x.png

Когда тестовый прогон останавливается как это, Вы останавливаете выполнение теста. Тогда установите регулярную точку останова перед утверждением, запустите тест снова (для удобства и экономии времени, можно использовать Кнопку запуска в поле редактора исходного кода для выполнения просто этого теста), и продолжите с отладкой операций для решения проблемы.

Используя команды меню проектов для запущения тестов

Отладка методов тестирования является хорошим временем для запоминания команд меню Project> Perform Action> Test Again и Project> Perform Action> Test. Они обеспечивают удобный способ повторно выполнить последний метод тестирования, если Вы редактируете код, фиксирующийся после отказа или выполнять текущий метод тестирования Вы продолжаете работать. Для получения дополнительной информации посмотрите Используя меню продукта. Конечно, можно всегда запускать тесты при помощи Кнопки запуска в тестовом навигаторе или в поле редактора исходного кода, какой бы ни Вы считаете более удобными.

Категории заместителя редактора

Две специализированных категории были добавлены к категориям заместителя редактора для работы в частности с тестами.

../Art/twx-assteditor_categories_2x.png
  • Тестовая категория Вызывающих сторон. Если Вы только что фиксировали метод в своем приложении, вызвавшем тестовый отказ, Вы могли бы хотеть проверить, чтобы видеть, вызывают ли метод в каких-либо других тестах и продолжают ли они работать успешно. С рассматриваемым методом в редакторе исходного кода откройте заместителя редактора и выберите Тестовую категорию Классов из меню. Всплывающее меню позволит Вам перейти к любым методам тестирования, вызывающим его так, можно выполнить их и быть уверены, что никакие регрессии не были созданы фиксацией.

  • Тестовая категория Классов. Эта категория заместителя редактора подобна для Тестирования Вызывающих сторон, но показывает список классов, имеющих методы тестирования в них, которые обращаются к классу, который Вы редактируете в основном редакторе исходного кода. Это - хороший способ идентифицировать возможности для добавления тестов, например, к новым методам, которые Вы еще не включили в методы тестирования, вызывающие их просто все же.

Точки прерывания исключительной ситуации при тестировании

Как правило, исключение остановит тестовое выполнение, когда поймано точкой прерывания исключительной ситуации, таким образом, тесты будут обычно запущены с точками прерывания исключительной ситуации, отключенными, чтобы Вы определили местоположение неуместно брошенных точек останова, когда они инициированы. Вы включаете точки прерывания исключительной ситуации, когда Вы размещаетесь в определенной проблеме и хотите остановить тесты для исправления ее.