1

バージョン 1.1.2.RELEASE でSpring Rest Docsを使用しています

テスト

MvcResult result = this.mockMvc.perform(get("/api").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andDo(print())
                .andDo(document("index"))
                .andReturn();

API

@RequestMapping(value = "/api")
    public ResponseEntity<String> apiWelcome() {
        final HttpHeaders httpHeaders= new HttpHeaders();
        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
        return new ResponseEntity<String>("{\"api\": \"test1\"}", httpHeaders, HttpStatus.OK);
    }

アプリケーションを実行すると、ブラウザで「/api」にアクセスして、期待どおりの{"api": "test1"}応答を得ることができます。

しかし、テストを実行すると、次のログ エントリが取得されます。

c.i.crawler.testnet.measure.RestDocsTest INFO  Started RestDocsTest in 2.96 seconds
o.s.web.servlet.PageNotFound WARN  No mapping found for HTTP request with URI [/api] in DispatcherServlet with name '' [main] 

そして、テストは のために失敗しますHTTP/1.1 404 Not Found。私は何を間違っていますか?

申し込み開始

@SpringBootApplication
@Configuration
@EnableConfigurationProperties
@EnableAutoConfiguration
@ComponentScan(basePackageClasses = { SomeController.class })
public class AppRUN {

    public static void main(String[] args) {
        SpringApplication.run(AppRUN.class, args);
    }

} 
4

1 に答える 1

3

私のテストクラスには、次のように注釈が付けられました。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=RestDocsTest.class)
@WebAppConfiguration

注釈を次のように変更すると、エラーが削除されます。

@RunWith(SpringRunner.class)
@SpringBootTest
于 2016-09-15T15:01:19.470 に答える