我正在嘗試編寫一個測試輔助類中的方法的JUnit測試用例。該方法使用REST調用外部應用程序,這是我試圖在JUnit測試中模擬的這個調用。用MockRestServiceServer嘲笑REST調用
輔助方法使用Spring的RestTemplate進行REST調用。
在我的測試中,我創建了一個模擬REST服務器和模擬REST模板和instanitiate他們是這樣的:
@Before
public void setUp() throws Exception {
mockServer = MockRestServiceServer.createServer(helperClass.getRestTemplate());
}
我再播種模擬服務器,以便當輔助方法使得它應該返回一個適當的反應REST調用:
// response is some XML in a String
mockServer
.expect(MockRestRequestMatchers.requestTo(new URI(myURL)))
.andExpect(MockRestRequestMatchers.method(HttpMethod.GET))
.andRespond(MockRestResponseCreators.withStatus(HttpStatus.OK)
.contentType(MediaType.APPLICATION_XML)
.body(response));
當我運行我的測試時,helper方法收到來自REST調用的空響應並且測試失敗。
其餘網址助手造就了查詢參數,看起來像這樣:「http://server:port/application/resource?queryparam1=value1&queryparam2=value2」。
我試圖把URL(「http://server:port/application/resource」)都與和無查詢參數在‘myURL’變量(引起的匹配,使其返回響應),但不能得到模擬服務器返回任何東西。
我試着尋找這種代碼的例子,但還沒有找到任何東西,這似乎像我的方案。
春季版4.1.7。
在此先感謝您的幫助。
Tha用於將該類寫入靜態方法的不同之處在於它不像其他許多源一樣。 'requestTo'。 – sjngm