Führen Sie dies mit "SpringBoot + JUnit5" aus, bis Sie die Injektion des Konstruktormusters zum Zeitpunkt des Tests ausführen.
Es hat funktioniert, wenn ich "@ ExtendWith (SpringExtension.class)" und "@ SpringBootTest" gegeben habe.
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("Testen Sie, um das Konstruktormuster zu verschieben")
@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 = "String";
fuga = "String";
}
@Test
@DisplayName("Einige testen")
void uploadFile() {
assertEquals(hoge, fuga);
}
}
Da es sich um JUnit5 handelt, können Sie verschiedene Dinge in die Klasse schreiben, ohne "public" hinzuzufügen. Außerdem wird der Konstruktor sogar "privat" injizieren.
Recommended Posts