顯然我沒有使用這個測試夾具的權利。我的servlet在tomcat中工作得很好,但是當我嘗試使用這個模擬時,沒有找到多部分邊界。 「該請求被拒絕,因爲沒有找到多部分邊界」。如何使用spring的MockMultipartHttpServletRequest?獲得「沒有多邊界被發現」
有一個回答here顯示如何使用這個使用文本文件,但該答案明確設置邊界字符串,並嵌入文件作爲測試。我想我不需要用手工做像mockrequest.addFile(...)
什麼我不是在這裏設置或如何,我這樣做不對的方法呢?
@org.testng.annotations.Test
public void testDoPost() throws Exception
{
MockMultipartFile file = new MockMultipartFile("test.zip", "test.zip", "application/zip", MyServletTest.class.getResourceAsStream("/test.zip"));
MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest();
mockRequest.addFile(file);
mockRequest.set
mockRequest.setMethod("POST");
mockRequest.setParameter("variant", "php");
mockRequest.setParameter("os", "mac");
mockRequest.setParameter("version", "3.4");
MockHttpServletResponse response = new MockHttpServletResponse();
new MyServletTest().doPost(mockRequest, response);
// BOOM !
}
這裏是例外
Caused by: blablah: the request was rejected because no multipart boundary was found
請張貼完整堆棧跟蹤。 –
另外,閱讀'setParameter'的javadoc。 –
另外,我們需要知道'MyServletTest#doPost()'實際上對請求做了什麼。 –