我有一种方法,该方法在第三方资源中发送post
请求并返回CloseableHttpResponse
结果。我尝试(第一次)为我的项目实施junit
测试。.我知道如何测试返回简单对象的方法,但我不知道-如何实现类似的测试方法?
public CloseableHttpResponse POST(String path, Map<String, String> parameters) throws URISyntaxException, IOException {
List<NameValuePair> pairParameters = generateListOfNameValuePair(parameters);
URI uri = new URIBuilder()
.setScheme(SSL_SCHEME)
.setHost(HOST)
.setPath(path)
.build();
HttpRequestBase postMethod = new HttpPost(uri);
try {
((HttpPost) postMethod).setEntity(new UrlEncodedFormEntity(pairParameters, "UTF-8"));
} catch (UnsupportedEncodingException initE) {
initE.printStackTrace();
}
return session.getHttpClient().execute(postMethod, session.getHttpContext());
}
答案 0 :(得分:2)
如果使用Spring Boot,则可以使用Mockito单元测试。
这是一个示例,向您展示如何实现mockMvc和单元测试方法。
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
public class StockPlanControllerTest {
@Autowired
public WebApplicationContext context;
public MockMvc mockMvc;
@Before
public void setUp() {
mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
}
@Test
public void POST(String path, Map<String, String> parameters) throws URISyntaxException, IOException {
mockMvc.perform(post(path)
.contentType(MediaType.APPLICATION_JSON)
.param("paramkey", "paramvalue"))
.andExpect(status().isOk());
}
要了解有关Mockito单元测试的更多信息,本教程将为您提供更多帮助。 UG-framework