我有一个Maven项目设置。在这个项目中,我使用JUnit进行单元测试。当我使用MVN test
或MVN clean test
运行测试时,不会运行任何测试。测试位于src/test/java
中,它们都以test
结束(它们匹配*test.java
)。
这是我的pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.9</source>
<target>1.9</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>
</dependencies>
<groupId>org.astropeci.ppp4e</groupId>
<artifactId>ppp4e</artifactId>
<version>1.0</version>
</project>
我的整个项目结构可以在这里看到:https://bitbucket.org/equator-lang/ppp4e/src/master/
任何帮助都将非常感谢,因为我已经尝试了很多个小时来让这个工作,但不知道该做什么。
公开测试类后,Maven的响应从:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
致:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.astropeci.ppp4e.defaultimpl.internal.lexing.MultiplexedTokenBuilderTest
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
JUnit5支持尚未内置到负责运行单元测试的maven-surefire-plugin中。您需要用提供程序配置插件,以便它工作。
我使用以下配置:
<properties>
...
<maven-surefire-plugin.version>2.20.1</maven-surefire-plugin.version>
<junit-5.version>5.2.0</junit-5.version>
</properties>
...
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<!-- JUnit 5 Support -->
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit-5.version}</version>
</dependency>
</dependencies>
</plugin>
...
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit-5.version}</version>
<scope>test</scope>
</dependency>
...
问题内容: 我尝试使用Maven创建一个测试项目,并且单元测试工作正常。但是,当尝试对j2ee项目执行相同操作时,surefire无法找到单元测试。测试位于正确的目录(src / test / java)中,并且正在对其进行编译。 junit测试位于src / test / java / unit / TestAddition.java pom.xml中的surefire插件配置不包含/排除任何文
是的,包含测试的Java类命名正确。(它们以测试结尾) 尝试在pom.xml中添加以下配置: 测试位于以下结构下: /src/test/packagename/JavaClassTest.java,其中Packagename与src/main/java路径下编写的单元测试下的包相同。 我正在使用jupiter JUnit 5和maven-surefire-plugin与2.22.2 我仍然在mvn
我有一个scala测试类,但是当我试图使用Maven目标'test'运行时,测试并没有运行。我收到Maven消息“There are no tests to run”。即使测试位于scala测试类中。我需要添加额外的配置吗? 以下是我的软件包设置: 下面是针对pom文件运行时Maven“测试”目标的输出: [INFO]----------------------生成成功[INFO]--------
问题内容: 我有一个Maven程序,它可以正常编译。当我运行它时,它不会运行任何测试(在TESTs标头下显示)。 我已经用一个超级简单的设置重新创建了这个问题,我将在下面以及运行时将其包括在内-X。 单元测试可以从eclipse正常运行(都使用其默认的junit软件包,而当我包括maven下载的junit.jar时)。而且可以在下正确创建该类。我在带有Maven 3.0.2和Java 1.6.0_
由于某些原因,此命令在我的本地计算机上运行良好: 然而,对于Codeship,它现在可以工作了,并抛出这个“找不到符号”错误。在Codeship中,完整命令是: 在POM中,存储库具有以下内容: 错误:
我有两个模块mod1和mod2从同一个父项目。mod2依赖于mod1,而mod2 pom.xml包含以下依赖关系 在mod1中,我在中定义了一个抽象测试类 在mod2中,我定义了一个继承这个类的测试类。 这些都是JUnit4测试。当我直接在Eclipse中运行测试时,它工作得很好。但是当我执行时不起作用,有编译错误显示maven在编译和测试MOD2时没有找到。 我试着在类似的问题上应用所说的:Pa