9
状況:テスト目的でSpringブートでDB接続をモックできますか?
- 私はmicroserviceに
Spring Boot
でSpring Cloud
を使用していますが、そのmicroserviceは、接続を設定するには、DB設定情報をロードしています。 - ドキュメント用に
Swagger
を使用して残りのインターフェイスを取得するテストを作成しました。 - DB構成の読み込みを無効にする必要はないので、この設定を無効にします。ここで
コードです:
@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());
}
}
はどのようにして、データベースの設定をロードせずにテストを実行できますか? これは可能ですか?
サービス層をモックします。そのような単純な。 –