mam ten fasoli w moim config Wiosna Java:Jak zastąpić komponent o określonym zakresie w celu przeprowadzenia testów?
@Bean
@Scope(proxyMode=ScopedProxyMode.TARGET_CLASS, value=SpringScopes.DESKTOP)
public BirtSession birtSession() {
return new BirtSession();
}
Dla testów, muszę makiety bez zakresie (nie ma „Pulpit” zakres w teście). Ale kiedy utworzyć konfigurację dla mojego testu, który importuje powyższą konfigurację i zawiera:
@Bean
public BirtSession birtSession() {
return new MockSession();
}
dostaję „Desktop” scoped szydzili fasoli :-(
Jak zrobić Wiosna „zapomnieć” THE @Scope
? adnotacja
. PS: To działa, gdy nie używam @Import
i używać skopiować & pastę ale nie chcę tego robić
Jaki rodzaj testu piszesz? Test jednostkowy? –
Co powiesz na opisywanie 'birtSession()' z '@ Primary'? * Niektóre * zakres 'DESKTOP' muszą być dostępne, ale funkcja automatycznego uzbrojenia zawsze wybierze główny komponent. –
@JBNizet: Tak, to jest test JUnit, który używa 'SpringJUnit4ClassRunner' –