Oto mój przypadek testowy dla wiosennej ControllerWiosna Boot Testowanie @WebMvcTest dla kontrolera wydaje się załadować inne kontrolery w kontekście
@RunWith(SpringRunner.class)
@WebMvcTest(value = MyController.class)
public class MyControllerTest {
@MockBean
private MyService myService;
}
Więc to jest test jednostki specjalnie dla metod MyController. Ale kiedy uruchomię test, Spring wydaje się rozpocząć tworzenie instancji OtherController i wszystkich jego zależności.
Próbowałem aktualizacji wyżej jako
@RunWith(SpringRunner.class)
@WebMvcTest(value = MyController.class, excludeFilters = @ComponentScan.Filter(value= OtherController.class, type = FilterType.ANNOTATION))
public class MyControllerTest {
...
}
Ale wiosna wciąż wydaje się go drutu. Oto błąd generowany przez Spring, gdy próbuje utworzyć instancję OtherController, gdy dokładnie wykonam powyższy test.
2017-01-06 12:09:46.207 WARN 18092 --- [ main] o.s.w.c.s.GenericWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'otherController' defined in file [C:\..OtherController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'getOtherService' defined in com.my.myApplication: Unsatisfied dependency expressed through method 'getOtherService' parameter 0org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'getOtherService' defined in com.myOrg.MyServiceApplication: Unsatisfied dependency expressed through method 'getPositionService' parameter 0
Co może być przyczyną?
Wiem, że minęło trochę czasu, rozwiązałeś to? Czy możesz pokazać MyController i OtherController? – alexbt