簡體   English   中英

我們是否應該對 build_runner 為 mockito 創建的 .mocks.dart 文件進行源代碼控制

[英]Should we source control the .mocks.dart files created by build_runner for mockito

由於 dart 中的null 安全,我們不得不更新我們的代碼測試。 我們將mockito用於 mocking 給定 class 的依賴項。 根據他們的文檔,我們決定使用build_runner方法來生成依賴項的模擬類。 這是在與測試文件相同的文件夾中創建擴展名為.mocks.dart的文件。 由於這些是生成文件,我們應該對它們進行源代碼控制,還是將它們放在.gitignore中?

實際上,這取決於您,但我建議將它們放在.gitignore中。

模擬不是訪問密鑰或某些內部配置等敏感信息,因此從這個角度來看不用擔心。 但是,在與團隊合作並解決生成文件的沖突時,將生成的文件存儲在源代碼控制中可能會導致合並沖突——嗯,這很奇怪,而不是你想要的。

由於可以生成文件,因此無需將*.mocks.dart添加到源代碼控制存儲庫 - 您應該忽略它們。 只需確保使用有關如何生成這些模擬的文檔來擴展項目的ReadMe文件,以便所有團隊成員都知道在無法運行測試時發生了什么。 這樣做的一個缺點是您的團隊成員可能需要在每次對新提取的代碼運行測試之前重新生成這些模擬,但這是任何代碼生成都應該接受的缺點。

In my experience, I am using packages like json_serializable , freezed , generating Dart files for localizations, assets using flutter_gen - these also require generating files from source code (eg *.g.dart and *.freezed.dart ones). 這些文件不存儲在源代碼管理中。 此外,當為項目使用 CI/CD 工具時,您可以在構建代碼之前觸發flutter pub run build_runner build命令(或任何其他生成文件的命令),一切都應該對 go 有利。

暫無
暫無

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

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