Настройте заголовки аутентификации в тесте, используя Quick

Я пишу тесты для моего приложения с использованием Quick а также Nimble, Я пришел к той части тестов, которая требует аутентификации. Мое приложение работает таким образом, что есть singleton названный AuthenticationManager у которого есть методы для входа в систему и т. д. Этот класс также содержит текущий authenticationToken:

public var token: String?

public var headers: HTTPHeaders {
    guard let token = token else {
        return ["Accept": "application/json"]
    }

    return [
        "Authorization": "Bearer \(token)",
        "Accept": "application/json"
    ]
}

Это работает в реальном использовании, однако, когда это работает с тестированием, кажется, что значение token переменная сбрасывается при запуске моего теста. Я попытался сделать входной звонок в setUp() метод моего QuickSpec Файл, однако, не работал. Я также попытался сделать входной звонок в it заявление для моего теста, который также не работал. Это мой код, как сейчас:

override func spec() {

    describe("When a user validates their current password") {
        describe("And the password is correct") {
            it("should validate the user correctly") {
                AuthenticationManager.shared.login(username: "test@example.com", password: "secret") { _ in }
                expect(Validator.validateCurrentPassword("secret")).to(equal(true))
            }
        }
    }
}

Я проверил, и данные для входа верны, но токен никогда не будет доступен при запуске теста... У кого-нибудь есть опыт работы с этим?

0 ответов

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