|
|
1
8
Sonar 是一个非常酷的工具,很容易与哈德逊集成,我真的很喜欢它的组织与多模块项目。你应该试一下 alt text http://sonar.codehaus.org/wp-content/uploads/2009/08/dashboard.png |
|
|
2
6
这有点老土,但我使用的方法是 modified version of the Maven cobertura plugin (这是 available from their repo )它提供了一个cobertura:generate报告目标,这样您就可以分别在测试运行之前和之后将cobertura:instrument和cobertura:generate报告插入到您的生命周期中。这样就可以获得所需的覆盖率数据,而不需要重复的测试执行/记录。 潜在的问题是,我遇到的所有非Clover Maven覆盖插件都是围绕着这样一个想法构建的,即运行覆盖率独立于Maven生命周期中的主要测试执行的测试。显然,这会导致两组测试执行。如果您使用的是Freestyle项目,那么您只会记录一组测试(因为即使有两个测试执行,也只有一个测试输出副本),但是Maven项目类型实际上会截取Maven Mojo执行,并在测试执行时记录测试输出/结果,而不是在构建结束时将所有测试都作为Freestyl记录下来。E项目做。这有很多优点,但它也有一个相当明显的缺点,即一个测试执行两次就被算作两个测试。 这就是说,虽然我已经看到了针对非检测代码和检测代码运行测试的有力论据,但我更喜欢针对检测代码只运行一次测试——这不仅仅是因为Maven/Hudson问题,而是因为当您有需要45分钟的测试时,运行两次来生成相同的代码似乎相当愚蠢结果。 |
|
|
3
1
罗伯特 我也遇到了这个问题,并且发现如果你把这个项目设置为自由式项目而不是Maven2项目,哈德逊不会重复报告。你确实失去了拥有一个Maven2项目的一些美好,但对我们来说,这是我们必须做的交易。 杰夫 |
|
|
4
1
我们使用的是自由风格的项目,没有这个问题,所以如前所述,这可能是您问题的根源。 为了提供合并特性,我们创建了自己的工件存储库(我们不使用Maven)。在每个构建结束时,我们将cobertura.ser文件复制到一个网络共享,并在过程中对其进行重命名。我们有一个统一的视图作业,它将所有的cobertura文件和源代码文件(另一个构建工件复制到网络共享)复制到本地构建目录中,并生成cobertura报告。 Hudson中缺少标准的工件存储库有点让人沮丧,但这给了作者通常使用Maven来满足这些需求是有意义的。我们的构建过程在多个服务器上运行,因此我们不能只使用其他作业目录中的相对路径。 注意,我们对其他度量也做同样的事情:测试结果、JavaNCS等。并使用正确的工具或某些自定义代码联接。 我们对传统的构建工件使用相同的存储库:DLL、JAR、安装脚本。 |
|
5
1
用一个漂亮的GUI查看一个非常低的开销工具的SDJava测试覆盖率。我不确定我是否理解您的“运行两次”问题,但是如果您使用sd工具运行(相同的确定性)测试两次,您将获得相同的测试覆盖率数据,例如,它的等量性。 如果您的测试是不确定的,您将得到两个不同的测试运行,但是这些工具很容易将几个运行的结果合并到一个整体摘要中。 它们还可以处理非常大的应用程序,并且可以很好地处理多线程应用程序(小的定时碎片可以使答案在理论上稍微不准确,但实践这并不是问题)。 |
|
|
6
1
你考虑过吗 Atlassian's Clover ? Maven-Clover2插件有一个新目标: clover2:setup 它只需在不分叉生命周期的情况下测试,或者运行测试两次。 您可以这样定义在哈德逊运行的目标:
Maven-Clover2插件可以免费试用30天。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 11 月前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 11 月前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 11 月前 |
|
pebble unit · 如何检查以前缀开头、以后缀结尾的属性(不是属性值) 11 月前 |
|
|
rudraraj · java中未声明最终变量 11 月前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 11 月前 |