Настройте заголовки аутентификации в тесте, используя 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))
}
}
}
}
Я проверил, и данные для входа верны, но токен никогда не будет доступен при запуске теста... У кого-нибудь есть опыт работы с этим?