2012-08-07 42 views
1

我们希望创建特定于在服务器中激发请求的用户的测试报告。如果我们改变POM这样使用maven命令运行测试时传递用户名

<configuration> 
    <outputDirectory>${basedir}/target/${user.name}</outputDirectory> 
</configuration> 


这产生了服务器,而不是谁开的测试个人的用户名。我看到了一个可能的解决方案,如mvn surefire-report:report -DoutputDirectory=newpath。但想知道,我们如何通过命令提示符传递用户名。


任何指导将非常感激。

回答

1

在你的POM文件创建一个属性:

<pom> 
    ... 
    <properties> 
     <some.propertyName></some.propertyName> 
    </properties> 
    ... 
    <configuration> 
     <outputDirectory>${basedir}/target/${some.propertyName}</outputDirectory> 
    </configuration> 
</pom> 

然后你使用这样的:

mvn surefire-report:report -Dsome.propertyName=DonaldDuck 
+0

非常感谢你。 – arin 2012-08-07 12:18:43

+0

以上答案完美地工作,并用我的用户名创建相应的导演。在进一步测试之后,我又来了另一个复杂性。 – arin 2012-08-08 06:02:35

+0

以上答案完美工作,并用我的用户名创建相应的导演。在进一步测试之后,我又来了另一个复杂性。如果有人想运行任何未安装Maven的测试,我们希望得到来自该用户的HTTP请求,并在服务器中触发相应的maven命令。为了做到这一点,我认为,我们需要一个能够使用maven命令运行测试的地方,我们不需要依赖POM中定义的属性,而是使用系统属性。请求可能像mvn -Dtest = *。java -DoutputDirectory = 。有什么想法吗? – arin 2012-08-08 06:09:22