与 main 和 test 一起的 IntelliJ 集成测试文件夹
IntelliJ integration test folder alongside main and test
我想向 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
这可能吗?我在 Intellij 15 Ultimate
中执行此操作,但在我的集成测试中它无法将包识别为 com.mysite.myapp
。相反,它识别这个 java.com.mysite.myapp
。它不遵循预期的 main
和 test
约定。有没有办法在 main
和 test
旁边添加更多文件夹并遵循相同的约定(java 文件夹未考虑用于包声明)?
如果不是,那么在包含集成测试时关于项目结构的最佳实践是什么?他们应该在测试文件夹中吗?如果可能的话,我想避免这种情况。
这应该很简单,只需右键单击 integration-test
文件夹,向下滚动到 "Mark Directory As..." 并选择 "Test Sources Root"。
请注意,如果您有其他开发人员从事此项目,他们将必须做同样的事情(除非您共享 IDEA 文件)。
在这种情况下正确的方法是适当地更改 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>
IntelliJ 选择此配置并自动将文件夹标记为测试源文件夹。
我想向 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
这可能吗?我在 Intellij 15 Ultimate
中执行此操作,但在我的集成测试中它无法将包识别为 com.mysite.myapp
。相反,它识别这个 java.com.mysite.myapp
。它不遵循预期的 main
和 test
约定。有没有办法在 main
和 test
旁边添加更多文件夹并遵循相同的约定(java 文件夹未考虑用于包声明)?
如果不是,那么在包含集成测试时关于项目结构的最佳实践是什么?他们应该在测试文件夹中吗?如果可能的话,我想避免这种情况。
这应该很简单,只需右键单击 integration-test
文件夹,向下滚动到 "Mark Directory As..." 并选择 "Test Sources Root"。
请注意,如果您有其他开发人员从事此项目,他们将必须做同样的事情(除非您共享 IDEA 文件)。
在这种情况下正确的方法是适当地更改 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>
IntelliJ 选择此配置并自动将文件夹标记为测试源文件夹。