我正在使用firebase将应用程序放在一起,并且我想确保可以对其执行测试。关于它的文档并不多 - 所以我想看看我是否以正确的方式来做 - 或者如果我完全错了。在swift中测试Firebase类Xctest
一些对此解决方案感觉不对劲的东西: 1.我每次启动一个新的测试类时都运行FirApp.configure--是不是有一种可以共享的方式?例如类似AppDelegate在应用程序上的操作。目前这似乎是相互冲突的,所以测试不会写任何东西给数据库。 2.每次我做一个新课程时,我都必须认证 - 这是可以共享的。 (即在预安装安装文件中?)
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)
}
}
想法是如何让测试工作。
感谢
同意你约旦 - 感谢分享它 - 。我会尝试这些并在此发布结果 –