Swift - возможно ли юнит-тестирование нескольких классов?
Я пытаюсь написать что-то вроде интеграционного теста для простого модуля, который отвечает за ввод текста и его проверку.
Модули выглядят так
Посмотреть
- func didSubmit(значение: строка)
- func showError(text: String)
Ведущий
- func didSubmit(значение: строка)
- showError(text: String)
- processPayment (eReceipt: String)
Interactor
- validate (значение: строка)
Рабочий процесс очень прост - когда что-то представляет представление didSubmit
называется какие звонки didSubmit
ведущий и звонит validate
интерактора и внутри функции интерактора validate
может произойти одно из двух: вызовите show error ведущего, который вызывает show error of view, или вызовите processPayment из processPayment
Итак, я попытался написать модульный тест, который представляет неправильное значение из представления, а затем собирает текстовое сообщение об ошибке. Проблема в том, что согласно тестам она никогда не меняется! Но если я тестирую вручную в симуляторе, я вижу, что текст меняется.
В то же время, если я вызываю метод презентатора, который напрямую устанавливает ошибку, утверждение работает.
Я попробовал то же самое с успешным случаем - и снова, если я запускаю цепочку из представления или интерактора - это не утверждает истину. Только если цепь имеет одну остановку.
Есть ли что-то, что я могу сделать неправильно или оно не собирается работать таким образом?