我正在迅速编写一个iOS应用程序,我需要测试我的Promise链。应用程序中的部分逻辑取决于Firestore是否从调用中返回有效的DocumentSnapshot。如果文档有效,则转到主屏幕,否则创建新的用户流。
我无法直接实例化DocumentSnapshot或继承并覆盖它,我还能做什么?作为最后的选择,我可以只在其依赖项中注入一些东西进行测试,但我想首先在这里提出。
无论如何我都可以自己实例化DocumentSnapshot对象?
答案 0 :(得分:0)
@IBAction func loginTapped(_ sender: Any) {
guard
let emailsignin = emailSignIn?.text!.trimmingCharacters(in: .whitespacesAndNewlines),
let passwordsignin = passwordSignIn?.text!.trimmingCharacters(in: .whitespacesAndNewlines)
else {
return
}
Auth.auth().signIn(withEmail: emailsignin, password: passwordsignin) { (user, error) in
if error != nil {
self.errorLabel3.text = "Invalid username or password"
self.errorLabel3.alpha = 1
} else {
self.transitionToHome()
}
}
}
库满足了您的需求,并在Firebase文档的“单元测试功能”部分中进行了记录:
https://firebase.google.com/docs/functions/unit-testing#constructing_test_data