java - 在 git bisect 期间,仅运行失败的测试是否安全?或者我们应该运行所有测试?

标签 java git git-bisect

当我使用 git bisect 命令时,我仅运行失败的测试 Java 程序的每个二分点。但是,我看到许多与 git bisect 相关的教程建议运行“make; make test”。我有什么理由应该在每一步运行所有测试吗? 预先非常感谢。

最佳答案

我不得不说@bcmcfc提到的条件是必要的,但还不够。作为引用,他的条件是

  • 所有测试均在标记为良好的提交处通过
  • 一些测试在标记为错误的提交处失败

我的问题是不知道在提交和提交之间发生了什么。例如,在干预提交中是否发现并修复了另一个错误?可以想象,那个错误或其修复影响了这个错误。

另一个问题是历史记录中可能存在“脏”提交。我不知道您的使用模式,但有些人允许在功能分支上出现失败测试的提交。 bisect 可以登陆这些提交,如果您只运行预计会失败的测试,您可能无法完全理解该提交中发生的情况,这可能会导致您在修复错误时误入歧途。甚至可能该错误是在该功能分支中引入并修复的,然后稍后在另一个功能分支上以稍微不同的方式再次引入,这确实会混淆您修复它的努力。 p>

在我看来,这似乎是一句古老格言的一个例子,“理论上,理论和实践没有区别,但实际上却有区别。”我每次都会运行每个测试。如果它们都达到了您的预期,那么您不应该觉得自己浪费了精力,您应该充满自信,知道自己知道发生了什么。

关于java - 在 git bisect 期间,仅运行失败的测试是否安全?或者我们应该运行所有测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34771453/

相关文章:

git - 是否可以将 git 提交标记为正在进行的工作?

java - java邮件API中的message.writeto()和message.getinputstream有什么区别吗?

git - VSO git 文件历史记录中的 'Simple History(default)' 和 'Full History' 有什么区别?

windows - 将默认的 git 源添加到 visual studio?

git - .git/info/exclude 和 .gitignore 的区别

git - 尝试启动 git bisect 给出 'fatal: invalid reference:...'

java - Android 自定义视频录制

Java - 查询不返回结果

java - 选项卡和菜单在同一行 |安卓

Git:相当于 `--full-history` 和 `git bisect` 的 `git blame`