Как написать тестовые примеры JUNIT для моих HTTP-сервлетов?

#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?