Comment puis-je maquette db connexion au Printemps de Démarrage pour objectif de test?
Situation:
- Je suis en utilisant
Spring Cloud
avecSpring Boot
dans un microservice, que microservice est le chargement de la base de données les informations de configuration pour configurer une connexion. - J'ai créé un test pour obtenir le reste des interfaces à l'aide de
Swagger
pour la documentation. - Je veux désactiver le chargement de la base de données de configuration, car n'est pas nécessaire.
Voici le code:
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {Application.class, Swagger2MarkupTest.class}, loader = SpringApplicationContextLoader.class)
@ActiveProfiles("test")
public class Swagger2MarkupTest {
@Autowired
private WebApplicationContext context;
private MockMvc mockMvc;
@Autowired
protected Environment env;
@Before
public void setUp() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context).build();
}
@Test
public void convertSwaggerToAsciiDoc() throws Exception {
this.mockMvc.perform(get("/v2/api-docs").accept(MediaType.APPLICATION_JSON))
.andDo(Swagger2MarkupResultHandler.outputDirectory("target/docs/asciidoc/generated")
.withExamples("target/docs/asciidoc/generated/exampless").build())
.andExpect(status().isOk());
}
}
Comment puis-je exécuter le test sans chargement de la configuration de base de données?
Est-ce possible?
Se moquer de votre couche de service. Simple que cela.
OriginalL'auteur Rys | 2016-02-29
Vous devez vous connecter pour publier un commentaire.
Il y a une option pour de faux Printemps de haricots avec de simples Printemps fonctionnalités. Vous avez besoin d'utiliser
@Primary
,@Profile
et@ActiveProfiles
annotations.J'ai écrit un billet de blog sur le sujet.
Vous pouvez utiliser dans la mémoire DB (par exemple, H2) pour remplacer la véritable source de données. Quelque chose comme ceci:
OriginalL'auteur luboskrnac