Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven:从命令行添加测试目录_Java_Maven_Maven 3_Junit4 - Fatal编程技术网

Java Maven:从命令行添加测试目录

Java Maven:从命令行添加测试目录,java,maven,maven-3,junit4,Java,Maven,Maven 3,Junit4,有没有办法包含一个测试文件夹,让Maven从命令行编译 我有一组测试,它们位于一个文件夹中,不属于标准的单元和集成测试集。在构建所需的集成测试之前,这些测试仍然可以单独运行。在Eclipse中,我可以通过右键单击这些测试并将它们作为JUnit测试运行来单独运行这些测试。我发现我经常想要运行多个测试,所以我尝试在命令行上从Maven运行它们。在Maven中,我可以这样做: mvn -Dtest=OldTest,OlderTest test 我认为我的问题是,这些测试所在的文件夹没有作为需要在PO

有没有办法包含一个测试文件夹,让Maven从命令行编译

我有一组测试,它们位于一个文件夹中,不属于标准的单元和集成测试集。在构建所需的集成测试之前,这些测试仍然可以单独运行。在Eclipse中,我可以通过右键单击这些测试并将它们作为JUnit测试运行来单独运行这些测试。我发现我经常想要运行多个测试,所以我尝试在命令行上从Maven运行它们。在Maven中,我可以这样做:

mvn -Dtest=OldTest,OlderTest test
我认为我的问题是,这些测试所在的文件夹没有作为需要在POM中编译的测试文件集的一部分列出。我想在不修改POM的情况下临时添加文件夹、运行测试并删除文件夹。

当激活某个配置文件时,我使用添加集成测试源,例如:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <version>1.4</version>
  <executions>
    <execution>
        <id>add-test-source</id>
        <phase>generate-test-sources</phase>
        <goals>
            <goal>add-test-source</goal>
        </goals>
        <configuration>
            <sources>
                <source>src/it/java</source>
            </sources>
        </configuration>
    </execution>
  </executions>
</plugin>

org.codehaus.mojo
构建助手maven插件
1.4
添加测试源
生成测试源
添加测试源
src/it/java
也许您可以做一些类似的事情?

当某个配置文件被激活时,我使用添加集成测试源,例如:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <version>1.4</version>
  <executions>
    <execution>
        <id>add-test-source</id>
        <phase>generate-test-sources</phase>
        <goals>
            <goal>add-test-source</goal>
        </goals>
        <configuration>
            <sources>
                <source>src/it/java</source>
            </sources>
        </configuration>
    </execution>
  </executions>
</plugin>

org.codehaus.mojo
构建助手maven插件
1.4
添加测试源
生成测试源
添加测试源
src/it/java

也许您可以做一些类似的事情?

这可以完成一些类似的事情,但我正在寻找一种方法,从命令行添加测试源,而不需要编辑POM。这可以完成一些类似的事情,但是我正在寻找一种方法,从命令行添加测试源,而不需要编辑POM。测试应该始终运行,这对于单元测试来说是正确的。如果我们谈论的是集成测试,这是不同的。为此,集成测试生命周期部分存在,并且该部分的命名约定(*IT.java等)可以由maven failsafe插件支持。对于您喜欢做的事情,我将在maven中创建一个单独的模块,并在模块内创建一个概要文件,该文件可用于运行这些测试(mvn-Polder测试)…动态添加源文件夹等从来都不是一个好主意。测试应始终运行,这对于单元测试是正确的。如果我们谈论的是集成测试,这是不同的。为此,集成测试生命周期部分存在,并且该部分的命名约定(*IT.java等)可以由maven failsafe插件支持。对于您喜欢做的事情,我会在maven中创建一个单独的模块,并在模块内创建一个概要文件,该文件可用于运行这些测试或不运行(mvn-Polder测试)…动态添加源文件夹等从来都不是一个好主意。