2017-08-01 108 views
0

我们得到了以下情况:我们有单元和集成测试。单元测试类以Test结束,集成测试以ITest结束。在Maven的执行只有单元测试构建我们使用以下配置:在Maven中配置Eclipse遵循maven-surefire-plugin配置

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>${maven-surefire-plugin.version}</version> 
    <configuration> 
     <excludes> 
      <exclude>**/*ITest.java</exclude> 
     </excludes> 
    </configuration> 
</plugin> 

这是工作在Maven构建,但是当我通过上下文菜单执行测试在Eclipse IDE>运行为>JUnit测试它忽略这些排除和测试ITest最后失败。

有没有一种方法可以配置(在POM中)Eclipse遵循maven-surefire-plugin配置?

+2

'Run as> JUnit test'忽略整个pom。 Eclipse有自己的配置 – Jens

+0

为什么你不遵循已经在Maven中定义的默认命名模式。单元测试:'* Test.java'集成测试:'IT.java *'? – khmarbaise

+0

@khmarbaise这当然是我最喜欢的解决方案,但这不是我的决定,这是一个公司政策:/ – Alex

回答

1

运行方式> JUnit测试知道你pom.xml

但是,如果你把你的单元测试,并在不同的目录集成测试(在Maven convention建议src/test/javasrc/it/java),那么你可以使用Eclipse的运行在一个包或源文件夹的所有测试的能力;只需单击集成测试源文件夹,然后从其上下文菜单中选择作为> JUnit测试运行。

+0

这是一个很好的解决方案,但它是很多测试,并不是所有的测试都在我的控制之下。这就是为什么我需要通过配置的方式 – Alex