Alk*_*ris 3 java integration-testing intellij-idea maven-3 spring-boot
我想在spring启动应用程序中添加一些集成测试.由此产生的结构就是这样
MyProject
??? myapp.iml
??? pom.xml
??? src
??? integration-test (integration test sources root)
? ??? java
? ? ??? com
? ? ??? mysite
? ? ??? myapp
? ? ??? AppTestIT.java
? ??? integration-test.iml
?
??? main (sources root)
? ??? java
? ? ??? com
? ? ??? mysite
? ? ??? myapp
? ? ??? App.java
? ??? main.iml
?
??? test (test sources root)
??? java
? ??? com
? ??? mysite
? ??? myapp
? ??? AppTest.java
??? test.iml
Run Code Online (Sandbox Code Playgroud)
这可能吗?我正在这样做Intellij 15 Ultimate,它不能识别com.mysite.myapp我的集成测试中的包.相反,它承认这一点java.com.mysite.myapp.因为它与它不遵循惯例main和test,这是预期.有没有一种方法来添加多个文件夹旁边main和test并遵循相同的约定(java文件夹没有考虑到的包声明)?如果不是,那么在包含集成测试时,项目结构的最佳实践是什么?它们应该在测试文件夹中吗?如果可能的话,我想避免这种情况.
dun*_*nni 16
在这种情况下,正确的方法是适当地更改Maven配置,以便在命令行上执行构建时也能正常工作(例如,在构建服务器上等).您可以通过配置build-helper-maven-plugin来完成此操作:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.10</version>
<executions>
<execution>
<id>add-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/integration-test/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
IntelliJ选择此配置并将文件夹自动标记为测试源文件夹.
tdd*_*key 14
这应该像右键单击integration-test文件夹一样简单,向下滚动到"Mark Directory As ..."并选择"Test Sources Root".
请注意,如果您有其他开发人员在处理此项目,他们将不得不做同样的事情(除非您共享IDEA文件).
| 归档时间: |
|
| 查看次数: |
6497 次 |
| 最近记录: |