当前位置: 首页 > 知识库问答 >
问题:

当一个测试文件不在mavenise结构中时,如何在Maven中运行Junit测试

唐威
2023-03-14
<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

surefire插件是

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.10</version>
               <configuration> 
               <testSourceDirectory>${basedir}/../src/java/junit/*.java</testSourceDirectory> 
               <testClassesDirectory>${project.build.directory}/classe‌​s/</testClassesDirectory>
<includes>
            <include>abcTest.java</include>
          </includes>
                </configuration> 
            </plugin>

我已经给了mvn测试命令,但它仍然在日志中给出零测试。有没有人能帮助我如何通过Maven运行junit test.java文件?

共有1个答案

丁和歌
2023-03-14

假设您不能真正理解项目的结构,您将不得不定制Surefire插件。

添加一个Junit依赖项是不够的--它只允许编译测试类。

因此,您的方向是正确的--您必须定制一个负责运行测试的Surefire Maven插件。

 类似资料:
  • 问题内容: 我正在使用JUnit 4.4和Maven,并且有大量的长时间运行的集成测试。 关于并行化测试套件,有一些解决方案可以让我在单个测试类中并行运行每个测试方法。但是所有这些都要求我以一种或另一种方式更改测试。 我真的认为,在X线程中并行运行X个不同的测试类将是一种更干净的解决方案。我有成百上千的测试,所以我真的不在乎线程测试类。 问题答案: 使用Maven插件:

  • 问题内容: 将模块插入项目后,如何在该模块中运行测试用例? 即我做了: 然后尝试测试其中的内容: 我们是否应该单独检查模块并进行测试?我不知道该怎么办。看来,当我知道如何找到已获取的模块时,但是当我使用它时,它在路径中“找不到”。 问题答案: 需要包,而不是相对于的文件夹。 因此,省略开头和结尾的文件名,它将起作用: 如果当前目录是您要测试的软件包文件夹,您甚至可以忽略它,例如 作为参考,请参阅C

  • 我正在用scala到java maven项目编写一些测试。我希望用maven插件运行这些测试,但我也希望其余的JUnit测试也能运行。问题是,根据这个指导方针,我必须禁用surefire。我有一个同时运行scalatest和junit测试的解决方案吗?

  • 问题内容: 我有一个大型的Maven项目,其中包含多个模块。当我想从一个模块运行JUnit测试时,我在包含所有模块的目录中运行“ mvn -Dtest = NameOfTest测试”。当我运行此命令时,Maven会遍历每个模块并尝试对其进行编译(尽管它已被编译),这涉及到复制一堆文件并增加测试的总时间。看来,Maven surefire插件的“ test”命令执行了测试之前的所有步骤。我想知道是否

  • 我声明了一些特定于Maven配置文件的属性。我的pom.xml的一部分: 当我通过IntelliJ IDEA 2016启动Junit测试时,我在使用“ci”Maven配置文件时遇到一些问题。我通过“Maven项目”面板激活我的配置文件,然后启动测试。问题是“my.properties.file”属性值等于“foo.xml”,而不是“bar.xml”。 我对命令行没有问题(我可以使用“-Pci”标志

  • 问题内容: 当我使用以下命令在Maven中运行单个测试时: 我得到以下结果: 它在几分钟前工作了,但是现在由于某种原因停止了工作。在运行测试之前,我尝试运行几次,但没有帮助。 测试看起来像这样: }} 更新: 这是由于将此依赖项添加到POM: 当我删除它时,一切正常。即使我添加以下两个依赖关系而不是上一个依赖关系,一切也都可以正常工作: 真奇怪 问题答案: 您可能正在类路径上的某个地方拾取了JUn