IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Spring problém s Autowire pro injektování Bean

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Navry
Člen
Avatar
Navry:18.1.2021 16:03

Když zpustím test, tak mě všechny testy selžou na:

org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type '...IUserDeviceService' available: expected single matching bean but found 2: userDeviceService,getUserDeviceService

Zkusil jsem: Jedná se o čistý Spring.

u testovací třídy mám, čímž definuju tu reálnou beanu:

@ContextConfiguration(classes = {UserDeviceService.class})

service je definovaná s:

@Service
public class UserDeviceService implements IUserDeviceService {

Pro testování mám konfigurační třídu kde definuju Mocky. Pro tuto konkrétní třídu tam mám:

@Bean
public IUserDeviceService getUserDeviceService() {
    return mock(UserDeviceService.class);
}

V této testovací třídě chci používat tuto reálnou service + mocky ostatních.
(Stejný způsob používám u dalších cca 10 service a fungujou a s beanami žádný problém není)

zkoušel jsem přidat k service

@Qualifier("NejakyNazev")

a v testovací třídě pak:

@Autowired
@Qualifier("NejakyNazev")
private UserDeviceService userDeviceService;

nepomohlo to.

Zajímavé je že všech cca 10 testů v této testovací třídě, přestalo fungovat potom co jsem upravil jeden controler, ve kterém se ani tato service nepoužívá. Koukal žádný problém nevidím.

Používám:
Spring - 5.1.4.RELEASE
JUnit - 4.12
Mockito - 2.0.2-beta

Chci docílit: zprovoznit testy, spravne fungoval Autowire Bean

 
Odpovědět
18.1.2021 16:03
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.