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

Итак, я попытался написать модульный тест, который представляет неправильное значение из представления, а затем собирает текстовое сообщение об ошибке. Проблема в том, что согласно тестам она никогда не меняется! Но если я тестирую вручную в симуляторе, я вижу, что текст меняется.

В то же время, если я вызываю метод презентатора, который напрямую устанавливает ошибку, утверждение работает.

Я попробовал то же самое с успешным случаем - и снова, если я запускаю цепочку из представления или интерактора - это не утверждает истину. Только если цепь имеет одну остановку.

Есть ли что-то, что я могу сделать неправильно или оно не собирается работать таким образом?

0 ответов

Другие вопросы по тегам