我正在使用Quick
and为我的应用程序编写测试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
,但是这没有用。我还尝试在我的测试语句中进行 te login 调用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))
}
}
}
}
我已经检查过了,登录详细信息是正确的,但是在测试运行时永远没有可用的令牌......有没有人有这方面的经验?