Autowire un Ressort de service en test JUnit
J'ai un Printemps suivant service:
@Service
public class MyService {
public List<int> getIds(Filter filter){
...
}
}
et une classe de configuration:
@Configuration
public static class MyApplicationContext {
@Bean
public Filter filter(ApplicationContext context) {
return new Filter();
}
}
Maintenant, je voudrais créer une unité de test pour vérifier si la méthode getIds retourne des résultats corrects. J'ai créé une suite de test JUnit:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyApplicationContext.class,
loader=AnnotationConfigContextLoader.class)
public class AppTest
{
@Autowired
Filter filter;
@Autowired
MyService service;
}
Le compilateur trouve le haricot pour la classe de Filtre, mais jette le "BeanCreationException: ne Peut pas autowire champ" exception pour le service de la variable. J'ai essayé d'ajouter la classe de service à la ContextConfiguration.les classes, mais alors le compilateur jeté "l'exception IllegalStateException: Échec du chargement de l'ApplicationContext" l'exception".
Comment inclure MyService dans le ContextConfiguration?
- coller plein de trace de pile s'il vous plaît? Et avez-vous défini les haricots en xml que se serait bien de l'aide (le cas échéant)
- Vous devez vous dites printemps pour le balayage des
@Service
annotations
Vous devez vous connecter pour publier un commentaire.
Ajouter l'annotation suivante à
MyApplicationContext
pour que le service soit scanné@ComponentScan("myservice.package.name")