<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      springboot~WebTestClient的使用

      在使用springboot進行開發時,單元測試是必要的,當你建立一個spring項目時,它會為我們自己生成一個測試項目,當你的項目開始過程中,測試用例是同時要進行的,我們在進行WEB層的集成測試時,可以使用spring為我們提供的WebTestClient工具,非常方便,提供了基于restful的各種類型和狀態!

      下面測試用例也是spring在github上開源的,大叔作為總結,把它收錄在博客里。

      package com.example.webclientdemo;
      
      import com.example.webclientdemo.payload.GithubRepo;
      import com.example.webclientdemo.payload.RepoRequest;
      import org.assertj.core.api.Assertions;
      import org.junit.FixMethodOrder;
      import org.junit.Test;
      import org.junit.runner.RunWith;
      import org.junit.runners.MethodSorters;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.boot.test.context.SpringBootTest;
      import org.springframework.http.MediaType;
      import org.springframework.test.context.junit4.SpringRunner;
      import org.springframework.test.web.reactive.server.WebTestClient;
      import reactor.core.publisher.Mono;
      
      
      @RunWith(SpringRunner.class)
      @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
      @FixMethodOrder(MethodSorters.NAME_ASCENDING)
      public class WebclientDemoApplicationTests {
      
          @Autowired
          private WebTestClient webTestClient;
      
          @Test
          public void test1CreateGithubRepository() {
              RepoRequest repoRequest = new RepoRequest("test-webclient-repository", "Repository created for testing WebClient");
      
              webTestClient.post().uri("/api/repos")
                      .contentType(MediaType.APPLICATION_JSON_UTF8)
                      .accept(MediaType.APPLICATION_JSON_UTF8)
                      .body(Mono.just(repoRequest), RepoRequest.class)
                      .exchange()
                      .expectStatus().isOk()
                      .expectHeader().contentType(MediaType.APPLICATION_JSON_UTF8)
                      .expectBody()
                      .jsonPath("$.name").isNotEmpty()
                      .jsonPath("$.name").isEqualTo("test-webclient-repository");
          }
      
          @Test
          public void test2GetAllGithubRepositories() {
              webTestClient.get().uri("/api/repos")
                      .accept(MediaType.APPLICATION_JSON_UTF8)
                      .exchange()
                      .expectStatus().isOk()
                      .expectHeader().contentType(MediaType.APPLICATION_JSON_UTF8)
                      .expectBodyList(GithubRepo.class);
          }
      
          @Test
          public void test3GetSingleGithubRepository() {
              webTestClient.get()
                      .uri("/api/repos/{repo}", "test-webclient-repository")
                      .exchange()
                      .expectStatus().isOk()
                      .expectBody()
                      .consumeWith(response ->
                              Assertions.assertThat(response.getResponseBody()).isNotNull());
          }
      
          @Test
          public void test4EditGithubRepository() {
              RepoRequest newRepoDetails = new RepoRequest("updated-webclient-repository", "Updated name and description");
              webTestClient.patch()
                      .uri("/api/repos/{repo}", "test-webclient-repository")
                      .contentType(MediaType.APPLICATION_JSON_UTF8)
                      .accept(MediaType.APPLICATION_JSON_UTF8)
                      .body(Mono.just(newRepoDetails), RepoRequest.class)
                      .exchange()
                      .expectStatus().isOk()
                      .expectHeader().contentType(MediaType.APPLICATION_JSON_UTF8)
                      .expectBody()
                      .jsonPath("$.name").isEqualTo("updated-webclient-repository");
          }
      
          @Test
          public void test5DeleteGithubRepository() {
              webTestClient.delete()
                      .uri("/api/repos/{repo}", "updated-webclient-repository")
                      .exchange()
                      .expectStatus().isOk();
          }
      }

      本例主要用來測試響應式的mongodb控件,其中也有一些坑,我們在reactive-mongodb一節里再說!

      posted @ 2018-04-26 20:04  張占嶺  閱讀(6896)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品国产高清中文字幕| 无码日韩人妻精品久久| 影音先锋啪啪av资源网站| 狠狠色婷婷久久综合频道日韩| а∨天堂一区中文字幕| 成人av天堂男人资源站| 少妇久久久被弄到高潮| 黄色国产精品一区二区三区| 高中女无套中出17p| 99久久免费精品色老| 国产无遮挡又黄又爽高潮| 视频一区视频二区在线视频| 国产精品中文第一字幕| 国产午夜福利在线视频| 国产高清精品在线91| 国色精品卡一卡2卡3卡4卡在线| 九九热在线免费观看视频| 中国少妇人妻xxxxx| 国产精品久久国产精麻豆| 大胸美女被吃奶爽死视频| 久久国产自拍一区二区三区| 久久人人妻人人爽人人爽| 欧洲精品色在线观看| 人人爽亚洲aⅴ人人爽av人人片| 国产成人综合95精品视频| 亚洲国产精品成人av网| 精品无码人妻一区二区三区| 亚洲色大成网站www在线| 婷婷综合缴情亚洲| 一本久道中文无码字幕av| 国产不卡av一区二区| 国内极度色诱视频网站| 日本黄页网站免费观看| 免费吃奶摸下激烈视频| 日产国产精品亚洲系列| 人人妻人人狠人人爽| 国产无遮挡免费真人视频在线观看| 色成年激情久久综合国产| 欧洲性开放老太大| 99中文字幕精品国产| 国产亚洲精品久久综合阿香|