由于dart中的零安全性,我们不得不更新代码测试。我们使用mockito来嘲弄给定类的依赖项。根据他们的文档,我们决定使用build_runner方法来生成依赖项的Mock类。这是在与测试文件相同的文件夹中创建扩展名为.mocks.dart的文件。因为这些都是生成文件,所以我们是用源代码控制它们,还是将它们放到.gitignore中?
发布于 2021-06-10 20:20:38
实际上,这取决于您,但我建议将它们放到.gitignore中。
模拟不是诸如访问键或一些内部配置之类的敏感信息,因此从这个角度来看,不必担心。但是,在源代码管理中存储生成的文件可能会在某个时候导致合并冲突,同时与团队一起工作并解决生成的文件上的冲突--这是奇怪的,而不是您想要的。
由于可以生成文件,所以不需要将*.mocks.dart添加到源代码管理存储库--您应该忽略它们。只需确保您扩展了项目的ReadMe文件,并提供了关于如何生成这些模拟的文档,这样所有的团队成员都会知道当测试无法运行时发生了什么。这样做的一个缺点是,您的团队成员可能需要每次在新提取的代码上运行测试之前重新生成这些模拟,但这是任何代码生成都应该接受的缺点。
在我的经验中,我使用json_serializable、freezed等包,生成用于本地化的Dart文件,使用flutter_gen生成资产--这些也需要从源代码(例如*.g.dart和*.freezed.dart )生成文件。这些文件没有存储在源代码管理中。此外,在为项目使用CI/CD工具时,您只需在构建代码之前触发flutter pub run build_runner build命令(或生成文件的任何其他命令),一切都应该是好的。
https://stackoverflow.com/questions/67927401
复制相似问题