我想在Spring中模擬WebClient。
public Test getTest(String lanId) {
return webClient.get()
.uri("url")
.retrieve()
.bodyToMono(Test.class)
.block()。
}
測驗方法:
@Mock ????
WebClient webClient。
@InjectMocks
TranslateDao TranslateDao。
@Test
void getUserId() {
webClient = WebClient.builder().build()。
var ww = translateDao.getTest("qw") 。
System.out.println("")。
}
當我嘗試在webClient上不使用@Mock時,我得到了空指標。 我想做這樣的事情:
when(WebClient.sth).thenReturn("{JSON!!}"/span>)
var result = translateDao.getTest("test")。
assert....
任何想法?
uj5u.com熱心網友回復:
這個問題有點讓人困惑,因為:
WebClient是通過依賴注入還是其他方式提供給你的類?
編輯:當你想模擬WebClient時,似乎你將有大量的模擬作業要做。
參考文獻。https://www.baeldung.com/spring-mocking-webclient
uj5u.com熱心網友回復:
我的建議是不要模擬WebClient,而應該使用MockWebServer。
如果你堅持模擬WebClient,你將需要模擬它的每一個部分:
如果你堅持模擬WebClient,你將需要模擬它的每一個部分:
private WebClient.RequestBodyUriSpec requestBodyUriMock。
private WebClient.RequestHeadersSpec requestHeadersMock;
private WebClient.RequestBodySpec requestBodyMock;
private WebClient.ResponseSpec responseMock;
private WebClient webClient。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/330182.html
標籤:
