10
votes

Spring Junit Test ne loge pas le contexte complet de l'application

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> xxx pré>

sortie: p> xxx pré>

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 { ...


1 commentaires

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.


3 Réponses :


0
votes

Êtes-vous peut-être en train de manquer un @configuration Annotation sur votre application classe?


2 commentaires

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.



7
votes

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 { /* ... */ }


1 commentaires

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!



0
votes

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


0 commentaires