【发布时间】:2012-11-03 20:03:02
【问题描述】:
我正在我们的 Jenkins CI 服务器中运行单元测试和 Selenium 测试。众所周知,在大型项目中运行测试需要很长时间。
是否有 Java 工具/框架只能触发相应源代码已更改的测试?这是因为并非每次对 SCM 的提交都会影响源代码的所有区域...
我使用 Cobertura 进行代码覆盖,使用 Surefire 进行报告。
编辑:我找到了 Atlassian Clover,但我正在寻找免费的解决方案。
【问题讨论】:
-
相应的源代码是否也只包含 Java 类或其他一些资源(例如 XML 配置文件)?
-
各自的源代码是否意味着您仍然测试所有依赖于您已更改的类的类,即使它们自己没有更改?
-
好问题,我想这实际上取决于使用的工具。我会想象一些工具在 1)测试覆盖的源代码已更改或 2)更改的源代码依赖源类已更改时运行执行测试。或者介于两者之间...
-
“各自的源代码是否只包含Java类或其他一些资源”:仅Java类
-
除了运行测试所花费的时间之外,这还有其他好处。告诉您哪些测试受一组提交影响的系统可以提供有关代码库中意外耦合的见解。这也可以用于指导手动探索性测试的工作,在他们可能由于看似不相关的变化而没有考虑检查的领域。
标签: java junit jenkins regression