wake-up-neo.com

Spring Boot 2.1.0 hat JUnit5-Abhängigkeiten, aber wie kann man das loswerden?

Ich habe gerade meine Projekte aktualisiert, um Spring Boot 2.1.0 (vor Version 2.0.x) zu verwenden, und ich habe Kompilierungswarnungen:

[WARNING] Cannot find annotation method 'value()' in type 'org.junit.jupiter.api.extension.ExtendWith': class file for org.junit.jupiter.api.extension.ExtendWith not found

Ich kann die Abhängigkeit org.junit.jupiter/junit-jupiter-api hinzufügen, um die Warnung zu lösen, aber ich denke, es ist ein "Hack".

Ich möchte diese Warnung nicht sehen (insbesondere, dass meine Projekte Warnungen wie Fehler behandeln) und ich möchte meine Projekte nicht mit unnötigen Abhängigkeiten belasten.

ich benutze Maven, aber ich kann sehen, dass jemand das gleiche Problem mit Gradle hatte https://www.reddit.com/r/Java/comments/9sogxf/spring_boot_210_released_now_with_Java_11_support/

4
razor

Wenn Sie Ihrem Projekt die org.junit.jupiter:junit-jupiter-api-Abhängigkeit hinzufügen, wird die Warnung ausgeblendet. Es sollte nicht schaden, denn es ist nur API-Jar und nur im Testumfang.

1
DAN

Wenn Sie mit @SpringBootTestclasses= Einstellen:

@SpringBootTest(classes = {
        MyAutoConfiguration.class,
        MyAutoConfigurationIntegrationTest.TestContextConfiguration.class
    })

auf die Antwort wird in der API-Dokumentation hingewiesen :

Anmerkung, die für eine Testklasse angegeben werden kann, die Spring Boot-basierte Tests ausführt. Bietet zusätzlich zum regulären Spring TestContext Framework die folgenden Funktionen:

Verwendet SpringBootContextLoader als Standard-ContextLoader, wenn keine spezifische @ContextConfiguration (loader = ...) definiert ist.

Sucht automatisch nach einer @SpringBootConfiguration, wenn verschachtelte @Configuration nicht verwendet wird und keine expliziten Klassen angegeben werden.

Sie können @ContextConfiguration verwenden, was nicht von Junit5s @ExtendsWith Abhängt:

@RunWith(SpringRunner.class)
@ContextConfiguration(loader = SpringBootContextLoader.class,
    classes = {
        MyAutoConfiguration.class,
        MyAutoConfigurationIntegrationTest.TestContextConfiguration.class
    })
1
Alun