【问题标题】:Unit testing multiple branches with git使用 git 对多个分支进行单元测试
【发布时间】:2018-01-04 23:55:00
【问题描述】:

我在根目录中名为 test 的文件夹中使用 Jest 单元测试,并且我正在尝试在多个分支上对 nodejs 进行单元测试。项目是否设置在 git 存储库中。当我的团队完成一个分支后,他们会将其与 master 合并。如果我使用代码,通常我会在 master 上工作,但我想在他们的分支上做一些事情。如果代码不完整,通常我不会触及其他分支,但由于这是为了对他们的代码进行单元测试而不是开发它,我认为可以查看他们在 branch1 和 branch2 上的最新提交。我是否正确,这样做是正确的,如果是这样,在这种情况下使用 git 的最佳方法是什么?

编辑 - 主要问题是它们不会在合并之间没有大的变化的情况下合并,而我现在测试的内容可以并且将与 master 上的内容大不相同。

这是我的团队期望我解决问题的方式,但我开始认为问题本身就是我的团队如何在整个单独的分支上使用 git。

【问题讨论】:

  • 这对我来说不是很清楚 - 您的单元测试可能与要测试的代码一起存储,那么这里有什么问题?
  • 您是否在问是否可以查看其他人的分支并在该分支上运行他们的测试?这似乎是一个社会问题,而不是技术问题。或者您是在问如何处理仅在合并后运行测试并且允许分支变得非常大的情况?
  • 这可能与 git 无关,也可能与 unit 测试(可能是验收测试)无关。也可能不是stackoverflow的主题:stackoverflow.com/help/on-topic
  • 这应该更像是一个 git 问题,单元测试的正常程序是什么?我知道通常它只是分配给分支的团队,但这不是分配的方式。我应该回到我的团队并要求分支他们的分支而不是单独的分支吗?

标签: git unit-testing


【解决方案1】:

我发现可能解决该问题的一种方法是将所有单元测试放在未跟踪的测试文​​件夹中。通过这样做,我可以检查每个分支。这样我的测试保持不变,但我可以根据需要从一个分支到下一个分支收集单元测试,当我准备好创建一个新分支并提交我的更改时。

提交更改后的代码示例:

echo ":path_to_test_folder" >> .gitignore
git rm -r --cached :test_folder
git add .gitignore
git commit -m "Ignoring test folder"
git stash
git checkout other_branch

并且包含测试的文件夹仍然存在。完成后,我只需检查我的分支、提交和推送更改。这是一种解决方法,但对我有用。

【讨论】:

  • 看来您可能正在使用“单元测试”的特殊定义。所以不清楚你原来的问题是什么,也不清楚这种方法是如何解决的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
  • 2014-03-15
  • 2012-05-06
相关资源
最近更新 更多