#java #junit #stream
Вопрос:
Я использую вызов ajax для отправки некоторых данных на сервер и использую приведенный ниже код.
var setData = this.view.data;
var setIds = [];
_.each(setData, function(data) {
setIds.push(data.id);
});
var setList = JSON.stringify({
'setList' :setIds
});
var url = "/framework/servlet.jsp?activity=SetPreviewamp;action=export";
$.ajax(url, {
type: "post",
data: setList ,
contentType: "application/json"
})
Теперь на стороне сервера я получаю доступ к сетлисту и использую приведенный ниже код.
public List<Long> getSetIdList(HttpServletRequest request) {
List<Long> setIdList = new ArrayList<Long>();
try {
String requestData = request.getReader().lines().collect(Collectors.joining());
JSONObject jsonObject = new JSONObject(requestData);
JSONArray setArray = jsonObject.getJSONArray("setList");
for(int i = 0; i < setArray .length(); i ){
setIdList.add(setArray.getLong(i));
}
} catch (IOException | IllegalStateException e) {
throw new MyException(e);
}
return setIdList ;
}
Приведенный выше код работает нормально и возвращает список массивов, как и ожидалось.
Поскольку я новичок в делах JUnit, может ли кто-нибудь помочь мне с тестовыми случаями Junit для этого ?
Как я могу задать данные в HTTP-запросе, чтобы при использовании request.getReader() возвращал содержимое, аналогичное вызову AJAX?