W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Spring Cloud函數(shù)還具有一些集成測試實(shí)用程序,這些實(shí)用程序?qū)τ赟pring Boot用戶而言非常熟悉。例如,這是包裝以上應(yīng)用程序的HTTP服務(wù)器的集成測試:
@RunWith(SpringRunner.class) @FunctionalSpringBootTest @AutoConfigureWebTestClient public class FunctionalTests { @Autowired private WebTestClient client; @Test public void words() throws Exception { client.post().uri("/").body(Mono.just("foo"), String.class).exchange() .expectStatus().isOk().expectBody(String.class).isEqualTo("FOO"); } }
該測試幾乎與您為同一應(yīng)用程序的@Bean
版本編寫的測試相同-唯一的區(qū)別是@FunctionalSpringBootTest
注釋,而不是常規(guī)的@SpringBootTest
。所有其他部件,例如@Autowired
WebTestClient
,都是標(biāo)準(zhǔn)的Spring Boot功能。
或者,您可以僅使用FunctionCatalog
為非HTTP應(yīng)用編寫測試。例如:
@RunWith(SpringRunner.class) @FunctionalSpringBootTest public class FunctionalTests { @Autowired private FunctionCatalog catalog; @Test public void words() throws Exception { Function<Flux<String>, Flux<String>> function = catalog.lookup(Function.class, "function"); assertThat(function.apply(Flux.just("foo")).blockFirst()).isEqualTo("FOO"); } }
(FunctionCatalog
始終將函數(shù)從Flux
返回到Flux
,即使用戶使用更簡單的簽名聲明它們也是如此。)
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: