Я создал «Проект Maven» (простой проект) в eclipse и добавил для него класс и модульные тесты.Тесты работают нормально.
Однако, как только я добавляю "module-info.java" в "src / main / java", модульный тест не запускается:
Error: Could not find or load main class workspace2.unittest.target.test-classes
Caused by: java.lang.ClassNotFoundException: workspace2.unittest.target.test-classes
Информация: "workspace2" - это имя моей рабочей области, а "unittest" - имя проекта.
Все работает нормально, если я запускаю maven через консоль (та же версия maven и java).
Setдо:- затмение: 2018-12 (4.10.0)- maven: 3.6.0 (настроено в Eclipse)- java: oracle-jdk-9.0.4 / openjdk-11.0.2_linux-x64
У кого-нибудь еще были такие проблемы?
Я пробовал это с JUnit4 (4.12 и 4.13-бета)-1) и JUnit5 (5.3.2).
ОБНОВЛЕНИЕ Вот ссылка на сжатый пример проекта: https://www.file -upload.net / download-13475608 / unittest.zip.html
pom:
<modelVersion>4.0.0</modelVersion>
<groupId>de.test</groupId>
<artifactId>unittest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
module-info.java:
module de.unittest {
}
класс:
package unittest;
public class Demo {
public int calculate(int a, int b) {
return a + b;
}
}
тест:
package unittest;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
public class DemoTest {
private Demo demo;
@Before
public void setUp() throws Exception {
demo = new Demo();
}
@Test
public void testCalculate() throws Exception {
int calculated = demo.calculate(1, 2);
assertEquals(3, calculated);
}
}