Avec SpringBoot + JUnit5, faites-le jusqu'à ce que vous exécutiez l'injection du modèle de constructeur au moment du test.
Cela fonctionnait si j'ajoutais @ ExtendWith (SpringExtension.class) et @ SpringBootTest.
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@DisplayName("Tester pour déplacer le modèle de constructeur")
@ExtendWith(SpringExtension.class)
@SpringBootTest
class AutowiredTest {
    private final AutowiredClass autowiredClass;
    private final String hoge;
    private final String fuga;
    @Autowired
    AutowiredTest(AutowiredClass autowiredClass) {
        this.autowiredClass = autowiredClass;
        hoge = "Chaîne";
        fuga = "Chaîne";
    }
    @Test
    @DisplayName("Quelques tests")
    void uploadFile() {
        assertEquals(hoge, fuga);
    }
}
Puisqu'il s'agit de JUnit5, vous pouvez écrire diverses choses dans la classe sans ajouter public.
De plus, le constructeur injectera même «private».
Recommended Posts