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