Модульное тестирование представления было отклонено в XCTestCase - PullRequest
0 голосов
/ 07 октября 2019

У меня есть приложение, использующее шаблон VIPER.

Представлено мое LoginViewController, выполняются некоторые действия и представление отклоняется.

Я бы хотел заявить, чтокогда LoginPresenter вызывает dismissViewController в моем LoginRouter, представление отклоняется.

У меня есть UITest, который покрывает это поведение, однако у меня есть проблема с покрытием кода в моем CI Pipeline и UITest недостаточно, чтобы его обрезать.

Я бы хотел заявить о поведении в коде.

  import UIKit

final class LoginRouter {

    private var delegate: LoginRouterDelegate?
    private let view: UIViewController

    init(_ delegate: LoginRouterDelegate?, view: UIViewController) {
        self.delegate = delegate
        self.view = view
    }
}

extension LoginRouter: LoginRouterType {

    func dismissViewController() {
        view.dismiss(animated: false, completion: nil)
    }
}

1 Ответ

0 голосов
/ 11 октября 2019

Используйте DismissalVerifier из ViewControllerPresentationSpy . В описании README прокрутите вниз до пункта «Как проверить отклонение модального режима?»

. Дополнительные советы см. В главе 10: «Как проверить навигацию между контроллерами представления?»от Модульное тестирование iOS на примере: советы и приемы XCTest с использованием Swift .

...