2012-04-27 61 views
2

想象一下,我有两个配置文件,一个用于生产,另一个用于测试环境。事情是,我只想执行一些测试,仅用于开发环境,而不是生产。是否有可能在某个maven profile构建过程中排除或忽略junit测试?

我试图把@ignore,但我不能告诉只是在prod构建期间忽略它。我试图使用maven的sure-fire插件,但是我再次无法使用每个配置文件的不同行为。

(PS:这是由这样不同的tech.s像hazelcast,JMS(ActiveMQ的),调度(石英)特色弹簧Hibernate项目,否则..)

任何帮助,将不胜感激。

+0

您可以发布您的POM,或者至少部分在其中定义您的个人资料? – 2012-04-27 11:17:22

+1

可能重复[是否可以忽略某些单元测试?](http://stackoverflow.com/questions/1593203/is-it-possible-to-ignore-certain-unit-tests) – artbristol 2012-04-27 11:56:28

回答

0

Maven的Surefire插件:夹杂物和测试排除

2

我们有一个系统,我们有三种测试尺寸(小,中和大)。我们创建了一个注释,允许我们用这些尺寸标记测试。我们还创建了一个规则来检查特定的env变量,并且会根据大小跳过测试。对不起,我没有发布代码的能力,但我们是这么做的。

下面是关于谷歌是如何做的一些帖子(我们根据我们的东西在谷歌)

http://blog.utest.com/how-google-tests-software-small-medium-and-large/2011/04/

2

可以使用maven.test.skip参数忽略JUnit测试,因为它是在documentation描述。您也可以将该参数设置为配置文件的一部分。

<profile> 
    <id>noTest</id> 
    ... 
    <properties> 
    <maven.test.skip>true</maven.test.skip> 
    ... 
    </properties> 
    ... 
</profile> 
+0

感谢您的回复第一。但是,我实际上只跳过了一些测试(比如总共20个测试中的2个)。 – Javatar 2012-04-29 22:34:16

+0

我的意思是,我实际上“不得不”跳过我的一些测试,而不是全部。 – Javatar 2012-04-29 23:13:09

相关问题