【发布时间】:2017-03-03 20:40:59
【问题描述】:
我正在使用 firebase 组合一个应用程序,我想确保我可以在它上面运行测试。没有很多关于它的文档——所以我想看看我是否以正确的方式做这件事——或者我做的是否完全错误。
此解决方案的一些不妥之处: 1. 每次我启动一个新的测试类时,我都在运行 FirApp.configure - 没有办法可以共享吗?例如,类似于 AppDelegate 在应用程序上的操作方式。目前这似乎是冲突的,所以测试没有向数据库写入任何内容。 2.每次上新课时我都必须进行身份验证-这可以共享吗? (即在 Pre-Setup 设置文件中?)
import XCTest
import Firebase
@testable import BurgerRestaurant
class BurgerTests: XCTestCase {
var sut:Burger!
override func setUp() {
super.setUp()
FIRApp.configure()
self.sut = Constants.MockedObjects.testBurger
}
override func tearDown() {
sut = nil
super.tearDown()
}
func testSave() {
if TestSettings.useRealFBaseCalls {
let testSave = self.expectation(description: "Saving Burger Object")
FIRAuth.auth()?.signIn(withEmail: TestSettings.testFireBUser, password: TestSettings.testFireBPass, completion: { (user, error) in
self.sut.save(completion: {
testSave.fulfill()
})
})
}
self.waitForExpectations(timeout: 15, handler: nil)
}
}
欢迎提出关于如何进行测试的想法。
谢谢
【问题讨论】: