在 git 中应该为 Codeception 测试提交或忽略什么?

What should be committed or ignored in git for Codeception tests?

我查看了 Codeception 文件,发现 .gitkeep 在 tests/_data/ 目录中。那是应该保存数据库转储的目录。该转储是将从中恢复站点的数据库。同一个目录在初始化时还包含一个 .gitkeep 文件,它向我指示目录 "should be committed, but there isn't anything in it right now"。 现在,我不打算将我的数据库提交到我的存储库,但是应该忽略那个文件还是应该忽略整个目录?是否有其他文件是应该忽略的目录?在使用 .git 和自动化测试时是否有可遵循的最佳实践?

内容 tests/_support/_generated 如果当前不是,则应忽略。

您应该只将测试所需的文件放入 tests/_data,因此不应忽略该目录中的任何内容。 没有必要将实时数据库的内容提交给 git,您要做的是准备一个仅包含测试所需数据的小 sql 文件并提交该文件。

除了忽略 tests/_support/_generated 之外,您还应该忽略 tests/_output ,因为该输出是在 运行 测试时生成的。 而且,如果您使用 Laravel 样式的 .env 配置文件,您可能也想忽略 .env 文件。

使用 .env 文件,您还可以提交 codeception 的 .yml 配置文件,因为在 .env 中定义了跨环境的任何不同之处。

当然,如果你使用的话,你也需要提交你的数据库转储。正如 Naktibalda 所说,它应该只包含必要的数据。 但是除了使用完整转储之外,还有许多其他方法可以使用必要的数据设置测试数据库。

除此之外,我还向我们的项目提交 codecept.pharchromedriverselenium。这让团队可以更轻松地拉取项目并 运行 立即使用这些二进制文件的正确版本进行测试。