簡體   English   中英

單元測試 firebase_auth 和 firestore

[英]Unit Testing firebase_auth and firestore

我正在嘗試設置 flutter 腳本來測試與我的 firestore 數據庫接口的類。

我目前的掙扎是:

  • 似乎為了使用firebase_auth,我必須有一個小部件樹。 我是 flutter 和 firebase 的新手,我通過一次構建一個類,為它們編寫測試然后轉到下一個類來慢慢建立我的專業知識。 需要小部件樹意味着我不能獨立於 GUI 測試授權邏輯(例如,如果我在代碼中調用 signOut 兩次會發生什么,即使 GUI 邏輯只允許您按下按鈕一次?)。
  • 嘲諷是不夠的。 為了模擬,您需要知道測試具有代表性的預期行為。 我花了很多時間嘗試解決期貨、更改登錄狀態和不正確的數據格式等問題。 如果我編寫了模擬,它們就不會與實際函數的實際行為相匹配。
  • 模擬對我沒有幫助,因為我也在學習數據庫的安全規則。 我肯定有適用於寬松安全規則的代碼,但當前的安全規則有問題。

有沒有辦法在不模擬的情況下為 firebase_auth 或 firestore 編寫單元/集成測試? 如果這是可能的,我什至很高興使用我的數據庫的本地模擬器/導出。

以下是我查看過的一些不是我要查找的文章:

好吧,我想我已經找到了我要找的東西。 firebase 團隊在使用 Firebase Emulator Suite 單元測試安全規則中展示了如何測試安全規則的工作非常出色。

我所做的是在我的實際 flutter 項目目錄中運行了 firebase init,這篇文章使用 Flutter 使用 Firestore 模擬器展示了如何直接在 flutter 中訪問模擬器, 但是現在要初始化的命令是

FirebaseFirestore.instance.useFirestoreEmulator('localhost', 8080);

結合這些,我認為應該可以測試是否以正確的格式將正確的數據寫入數據庫,同時確保返回的數據與預期的匹配,無論您是否使用 Freezed、Json Serializable ,飛鏢:轉換等...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM