У меня есть цель ant для запуска тестов junit5 через junitlauncher
:
<target name="juint" depends="build">
<mkdir dir="${junit.output.dir}" />
<junitlauncher haltOnFailure="true" printSummary="true">
<!-- include the app code & libraries required to run the tests -->
<classpath>
<path refid="datastudio-trunk-java-lib.classpath" />
<pathelement location="target/classes"/>
</classpath>
<classpath>
<!-- the test classes themselves -->
<pathelement location="target/test-classes"/>
</classpath>
<testclasses outputdir="${junit.output.dir}">
<fileset dir="target/test-classes">
<include name="**/*.class"/>
</fileset>
<listener type="legacy-brief" sendSysOut="true"/>
<listener type="legacy-xml" sendSysErr="true" sendSysOut="true"/>
</testclasses>
</junitlauncher>
</target>
Задача находит мои тесты, но не запускает их, как мы видим в выводе:
[junitlauncher] Test run finished after 31 ms
[junitlauncher] [ 2 containers found ]
[junitlauncher] [ 0 containers skipped ]
[junitlauncher] [ 0 containers started ]
[junitlauncher] [ 0 containers aborted ]
[junitlauncher] [ 0 containers successful ]
[junitlauncher] [ 0 containers failed ]
[junitlauncher] [ 5 tests found ]
[junitlauncher] [ 0 tests skipped ]
[junitlauncher] [ 0 tests started ]
[junitlauncher] [ 0 tests aborted ]
[junitlauncher] [ 0 tests successful ]
[junitlauncher] [ 0 tests failed ]
У меня есть простой тестовый класс junit, который определяет 5 таких тестов:
@RunWith(JUnitPlatform.class)
class JDBC {
private static Logger log = null;
@BeforeAll
public static void setLogger() throws MalformedURLException {
System.setProperty("log4j.configurationFile", "../log4j2.xml");
log = LogManager.getLogger("fr.data.datastudio.test");
log.info("logging enabled");
}
// [...]
@Test
void testSqlite() {
Jdbc4Jni db = connect("org.sqlite.JDBC", "jdbc:sqlite::memory:", null, null);
_testTypes(db);
}
}
Тесты выполняются нормально в представлении Junit затмения, но не из ant.Кто-нибудь знает, почему они найдены, но не запущены (и не пропущены)?