私はfirebaseを使ってアプリケーションを構築しています。私はその上でテストを実行できることを確認したいと思います。それについての多くの文書はありません - 私は正しい方法でそれをやっているかどうか、私が完全に間違っているかどうかを見たいと思っていました。迅速なXctestでのFirebaseクラスのテスト
このソリューションについて正しく感じないことのいくつか: 1.私は新しいテストクラスをスピンアップするたびにFirApp.configureを実行しています - これは共有できる方法ではありませんか?たとえば、AppDelegateがアプリでどのように動作するかと同じように。現在のところ、これは矛盾しているので、テストはDBに何も書き込まれません。 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)
}
}
テストの仕組みについてのアイデアを歓迎します。
おかげ
あなたと同意します。ジョーダン - それを共有していただきありがとうございます。それらを試して、ここに結果を投稿しようとしています –