SpringBootテストコード

2068 ワード

@RestController
public class WebRestController {
    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
}
上のコードを実行すると、次のような画面が表示されます.

次のコードは、上のコードに対するテストコードです.
@RunWith(SpringRunner.class)
@WebMvcTest(controllers = WebRestController.class)
public class WebRestControllerTest {
    @Autowired
    private MockMvc mvc;

    @Test
    public void hello가_리턴된다() throws Exception {
        String hello = "hello";

        mvc.perform(get("/hello"))
                .andExpect(status().isOk())
                .andExpect(content().string(hello));
    }
}
@RunWith(SpringRunner.class)
  • のテストでは、JUnitに組み込まれた実行者のほか、他の実行者も実行されます.
  • ここではSpringRunnerというスプリングアクチュエータを使用します.
  • 、すなわち、ばね起動試験とJUnitとの間で接続者として機能する.
  • @WebMvcTest
  • の複数のスプリングテスタのうち、Web(Spring MVC)の機器に集中することができる.
  • 宣言
  • の場合、@Controller、@Controller Addiceなどを使用できます.
  • セグメント、@Service、@Component、@Repositoryなどは使用できません.
  • @Autowired
  • スプリングによって管理される空席を注入する.
  • @private MockMvc mvc
  • Web APIのテストに使用します.
  • スプリングMVCテストの開始点です.
  • は、このクラスを通じてHTTP GET、POSTなどのAPIテストを行うことができる.
  • mvc.perform(get("/hello"))
  • MockMvcを介して/helloアドレスにHTTP GET要求を発行する.
  • のふるい分けをサポートし、以下の多種の検証機能によって連続的に宣言することができる.
  • .andExpect(status().isOk())
  • mvc.performの結果を検証します.
  • HTTPヘッダの状態を確認します.
  • は、我々がよく知っている200、404、500などの状態を検証し、ここでは200認知である.
  • .andExpect(content().string(hello))
  • mvc.performの結果を検証します.
  • 検証
  • は、本明細書の内容に答える.
  • コントローラが「hello」を返すため、値が正しいことを確認します.
  • ソース:Spring BootとAWSによるWebサービス