小编Pul*_*wal的帖子

依赖关系分析工具 - 更新回归测试用例

问题

这是我想要的一个常见问题.添加新代码转换为回归 - 现有的测试用例已过时.代码中的依赖关系意味着即使您知道如何修复此特定回归,也可能在两个方向的更多位置进行间接回归 - 传入和传出.

需求

我有一个运行SVN,Maven + Nexus,Sonar,Jenkins和JIRA,QC,QTP的商店.总而言之,这是一个良好的CI环境.

每一个新的构建我都会有新的回归案例.我希望在两个方向上找到Java包依赖关系并正确更新测试用例,以便涵盖所有类型的回归 - 直接和间接.这是一个更大的问题,因为我的单元测试覆盖率甚至没有接近50%,并且集成测试的自动化无法跟上开发的步伐.

我的选择

  1. SONAR
  2. Google CodePRo
  3. JArchitect
  4. Jtest(与供应商Parasoft讨论过.他们没有这方面的工具)
  5. 利用现有的环境,比如Atlassian插件
  6. Kalisitck(供应商演示 - 漂亮的工具 - 涉及学习曲线和成本)
  7. Coverity(像Kalistick一样 - 学习曲线和复杂的安装.非常昂贵的许可证.
  8. 还有其他开源/付费吗?

JArchitect,SONAR和CodePro将为您提供一个像这样这样的简单矩阵.通过告诉我哪些用户使用过的类受到影响,满足了我的一半要求.我想要的是更进一步,让工具告诉我哪些相应的测试用例受到影响,以及我是否需要更新和/或执行它们以覆盖我的回归风险.

Kalistick,Coverity和其他人可能会做我想做的事情 - 他们很难设置和配置,慢慢地与你的系统一起成长,因此不会立即产生效率,需要花费成本并需要学习曲线.

简短的问题

考虑到所有因素,如安装,学习曲线,成本,可用性或任何其他参数,我在上面使用哪些工具进行设置.



我已经阅读了关于的FAQ部分,很少有线程像Java的静态分析工具推荐?, /sf/ask/260134241/以及 对代码指标的迷恋是什么? 和许多相关的,但他们没有回答我的具体问题.

java testing dependencies static-analysis qa

18
推荐指数
1
解决办法
2354
查看次数

使用gmail配置Jenkins电子邮件通知

我试图配置jenkins以gmail作为POP提供商发送电子邮件通知,但我无法成功

SMTP server - pop.gmail.com
Default user e-mail suffix - @gmail.com
Sender E-mail Address - Foobar CI <your.email@gmail.com>

Use SMTP Authentication - yes
User Name - your.email
Password - p******d

Use SSL - yes
SMTP Port - 995
Reply-To Address - noreply@gmail.com
Charset - UTF-8
Run Code Online (Sandbox Code Playgroud)

测试失败:连接被拒绝

javax.mail.MessagingException:无法连接到SMTP主机:pop.gmail.com,port:995; 嵌套异常是:java.net.ConnectException:连接被拒绝:连接

port gmail smtp jenkins

16
推荐指数
4
解决办法
5万
查看次数

xcopy不会创建目录结构

我在Windows XP Professional中对xcopy有一个奇怪的问题.我不知道它是否是一个愚蠢的问题,因为我只指定一个文件作为源,所以我是否应该期待任何其他行为?就是这个:

我在用xcopy <src> <dest> /s/y.

<src>=C:\sourcefolder\a\b\c\d\something.java

<dest>=C:\destinationfolder.

现在xcopy复制文件但不在\a\b\c\d\里面创建目录结构C:\destinationfolder .

我想要的是C:\destinationfolder\a\b\c\d\something.java

我得到的是 C:\destinationfolder\something.java


  1. 我试图C:\destinationfolder通过指定.目标文件夹在目标文件夹中运行它
  2. 在上面没有任何目标的情况下尝试过它

我有一个脚本xcopy迭代调用所以我C:\destinationfolder\many java files没有任何目录结构.

答:是的,我已经做xcopy /?了所有选择

B. /T也不会创建任何空目录结构

C.我无法访问源文件夹a\b\c\d\并运行xcopy . <dest>

windows-xp copy xcopy batch-file

13
推荐指数
1
解决办法
4万
查看次数

Maven发布插件 - 需要SNAPSHOT项目

我正在使用Jenkins内部的M2发布插件,它在内部调用maven-release-plugin 2.3.2,同时构建抛出此错误:You don't have a SNAPSHOT project in the reactor projects list.问题是,我的项目劲歌有自己的版本1.0.0快照.我错过了什么?

com.abc.defcompany parent POM,我正在做mvn releaseutils

<modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.abc</groupId>
        <artifactId>def</artifactId>
        <version>1.0.0</version>
    </parent>

    <groupId>com.abc.def</groupId>
    <artifactId>utils</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>utils</name>
Run Code Online (Sandbox Code Playgroud)

是的,我已经完成了我的基本Google + SO拖网,而且它指出我的POM应该有SNAPSHOT作为版本,已经存在.除了我公司的父母POM不是快照.这可能是原因吗?

hudson maven maven-release-plugin jenkins

10
推荐指数
3
解决办法
2万
查看次数

如何在Sonar Server中设置多个源位置?

我正在使用Maven 3,在我的java项目中,pom文件包含一个源位置,如下所示.

<build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${JDK}</source>
                    <target>${JDK}</target>
                    <excludes>
                        <!--<exclude>**/**/api/notification/**/INotificationProfileManager.java</exclude> -->
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-ejb-plugin</artifactId>
                <configuration>
                    <version>1.3</version>
                    <archive>
                        <manifest>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>./MubarsherTradeClasspath-1.0.jar</Class-Path>
                            <Specification-Vendor>Mubasher</Specification-Vendor>
                            <Implementation-Vendor>Mubasher</Implementation-Vendor>
                            <Sealed>false</Sealed>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
Run Code Online (Sandbox Code Playgroud)

编译后,生成的文件位于.../generate/src/main/java/...路径中.当声纳分析完成后,它会检查本身具有这些生成的类../src/main/java/...路径,因此分析失败.

所以我需要知道如何定义多个源路径来分析声纳?

hudson maven jenkins sonarqube

10
推荐指数
1
解决办法
1万
查看次数

在不同的jvm中运行ant任务

我们的ant构建使用Java 1.7.0 for JAVA_HOME运行.这样,javac和所有其他Java依赖目标默认使用正确的Java.

但是来自外部供应商的1个目标不支持(或者更确切地说是使用Java 1.7.0).与例如javac或forked junit不同,此目标不支持切换jvm的参数.

是否可以在不同的jvm中运行特定的蚂蚁目标?

ant jvm javac

6
推荐指数
2
解决办法
9707
查看次数

詹金斯并行触发和等待

我有4个工作需要按以下顺序执行

JOB A 
 |------> JOB B
 |------> JOB C 
            |------> JOB D
Run Code Online (Sandbox Code Playgroud)

在上面

  1. A应该并行触发B&C,C inturn触发D.
  2. A应该保持工作运行直到所有3个工作完成.

我尝试了以下插件,无法实现我想要的

  • 加入插件
  • Multijob插件
  • 多配置项目
  • Paramterized Trigger插件

有没有我试过的插件可以帮助我解决这个问题.或者这可以通过不同的方式实现.请指教.

hudson hudson-plugins jenkins jenkins-plugins

6
推荐指数
1
解决办法
7869
查看次数

正则表达式选择多行字符串中的最后一行

我有一个ANT脚本,它有一个属性,其值可以是一行或多行,例如property

prop1=
A_12.1_REL_B121000_10_18_2011.1700
A_12.1_REL_B121001_10_25_2011.6059
A_12.1_REL_B121001_10_25_2011.2201
A_12.1_REL_B121001_10_25_2011.2014
Run Code Online (Sandbox Code Playgroud)

请注意所有这些行以CRLF结尾,文件结尾也是另一个CRLF.现在我需要做的就是使用正则表达式选择最后一行.线的数量可以更少或更多,例如

prop1=
    A_12.1_REL_B121000_10_18_2011.1700  
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,我需要选择这一行.我搜索过较旧的帖子,但找不到具体的内容.有什么指针吗?

regex ant hex

4
推荐指数
1
解决办法
1549
查看次数

如何配置Jenkins以使用ant和custom args构建项目

使用ant构建下一个项目版本的例程太多了.例程在几个属性文件中,必须在运行ant任务之前进行编辑.我看了一下Jenkins作为一个系统来进行构建(包括夜间构建),但我有一个改变属性的问题.

是否有可能(如果是,我该怎么做)在构建之前在Jenkins配置中键入参数,以便将它们传递给ant?

我真正的意思是以下架构(我在手动构建中使用):

  • 有2个属性文件包含有关构建版本,src目标,用于通知新构建的电子邮件等的数据.

  • 在Ant任务中使用相应的属性键,并在构建之前手动更改这些属性.

  • Java util读取了一些属性,并在构建期间用于它们自己的部分.

  • 在build.xml中还导入了3或4个ant XML,这些xmls还从提到的文件中读取属性.

我想做的是:

  • 更改Jenkins中的关键属性

  • 按建设项目

  • 我的数据将覆盖属性文件中的数据,或者作为ant vars值直接传递给ant的任务.

  • 结果我收到了相应通知的新版本(它们是通过ant制作的)

是否存在允许通过Jenkins使这种模式工作的机制?

先感谢您.

ant jenkins

4
推荐指数
1
解决办法
2万
查看次数

Clearcase 中活动的反向变更集

我有开发团队发布的要求,要求撤销给定 UCM 活动中的所有更改。限制是我们没有删除权限。这意味着我知道我可以做一个lsactivity来列出活动中的所有元素及其各自的版本,然后在简单的世界中可以删除这些版本。

但是 SCM 政策不允许我们删除/ rmver任何东西。所以我只剩下重新合并 1 个版本了。意思是让我们说我将 a.java 的第 5 版签入了一个活动。我认为实现这一目标的一种方法是找到第 4 版(使用 -前身)并将此第 4 版盲复制为第 6 版。假设这次活动中每个文件只有 1 个版本。如果一个文件通过一个活动签入了 1 个以上的版本,这会更复杂,所以现在让我们忽略它。

任何其他想法或我的方法是否会/不会工作?

clearcase

3
推荐指数
1
解决办法
2341
查看次数

逐个列出UCM流中组件的最新基线

我需要逐个列出clearcase UCM流中每个组件的最新基线.我知道使用的"%[latest_bls]p"选项-fmt.问题是它列出了所有组件的所有最新基线.

我需要的是,给定组件名称C和流名称S,在流S中显示组件C的最新基线.

谢谢你的帮助.

clearcase cleartool

2
推荐指数
1
解决办法
9887
查看次数

如何控制Maven工件的Group/Artifact/Version坐标?

在我的Maven构建结束时,为此明确目的而存在的一个模块从各种其他模块收集工件,并使用Assembly插件将它们压缩到存档中.完成后,它使用Deploy插件将它们部署到Nexus.

由于历史原因,此包装模块被调用bundle,因此工件最终被调用,因此mygroup:bundle被归类为Nexus.

我宁愿让它们显示在下面mygroup:myprojectname,但我无法弄清楚如何将它们部署到该位置.我已经尝试配置Deploy插件的deploy-file目标来更改坐标,但没有成功.作为一个额外的复杂功能,项目的主代码模块已被调用myprojectname,因此该组在部署时不为空.但是,由于分类器和类型,不需要覆盖任何内容.

没有重命名模块,我能以某种方式这样做吗?

deployment maven maven-assembly-plugin maven-deploy-plugin

2
推荐指数
1
解决办法
2694
查看次数