在 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.phar
、chromedriver
和 selenium
。这让团队可以更轻松地拉取项目并 运行 立即使用这些二进制文件的正确版本进行测试。
我查看了 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.phar
、chromedriver
和 selenium
。这让团队可以更轻松地拉取项目并 运行 立即使用这些二进制文件的正确版本进行测试。