我正在使用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)
}
}
想法是如何讓測試工作。
感謝
同意你約旦 - 感謝分享它 - 。我會嘗試這些並在此發佈結果 –