Bonjour, j'essaie de tellement de cas de test Junit printemps ... et j'exige que mon contexte d'application complet soit chargé. Cependant, le test Junit n'initialise pas le contexte complet de l'application.
classe de test: p> sortie: p> Principales annotations de classe d'application: P> @ComponentScan(basePackages = "com.test")
@EnableAutoConfiguration(exclude = { MetricFilterAutoConfiguration.class, MetricRepositoryAutoConfiguration.class })
@EnableMongoRepositories("com.test.repository.mongodb")
@EnableJpaRepositories("com.test.repository.jpa")
@Profile(Constants.SPRING_PROFILE_DEVELOPMENT)
public class Application { ...
3 Réponses :
Êtes-vous peut-être en train de manquer un @configuration code> Annotation sur votre application code> code> classe? p>
Même après avoir ajouté @confiigration à mon application.Class, il n'a pas fonctionné.
Depuis que je ne pouvais pas commenter, j'ai posté une réponse. Noté pour référence future.
Vous devez annoter votre classe de test avec @ActiveProfiles code> comme suit; Sinon, votre classe
code> de la classe de configuration sera toujours désactivée em>. C'est pourquoi vous ne voyez actuellement aucune de vos propres haricots énumérés dans le
ApplicationContext code>.
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
@ActiveProfiles(Constants.SPRING_PROFILE_DEVELOPMENT)
public class MongoDbRepositoryTest { /* ... */ }
Merci sam..que résolue mon problème! Merci également à vos contributions aux recettes de printemps ..Il était l'une de mes premières ressources pour l'apprentissage du printemps!
Ajout @ActiveProfile dans chaque classe d'essai que vous ne pouvez pas faire échec mieux ajouté cela dans des options VM
-Dspring.profiles.active=test
D'une part, votre classe d'applications n'est active que pour un profil que vous ne définissez pas pour être actif dans le test.