У пользователя есть метод Restsase webservice, который использует объект MultipartFormDataInput в качестве своего пакета и выводит из него много информации. Я бы хотел написать jUnit-тест для этого метода, но мне не удалось найти способ создать этот объект и поместить в него фиктивные данные, чтобы я мог напрямую вызвать свой метод webservice. Метод обслуживания извлекает данные из формы, как это ...Создание объекта MultipartFormDataInput для тестирования jUnit Java
@POST
@Path("/requestDeviceCode")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes("multipart/form-data")
public DeviceCodeModel requestDeviceCode(final MultipartFormDataInput inputMultipart) {
// process the form data - only field in the form is the token
Map<String, List<InputPart>> formData = null; // we'll put the form data in here
formData = inputMultipart.getFormDataMap();
String token = null;
try {
token = formData.get("Token").get(0).getBodyAsString();
this._logger.debug("Pulled encrypted token out of input form, it's " + token);
и что работает отлично, но при попытке создать объект для передачи в качестве Парма к «requestDeviceCode» имеет меня в тупике. Я пробовал вариации этого ...
// create a multipartForm (input to the service POST) and add the "token" string to it
MultipartFormDataOutput newForm = new MultipartFormDataOutput();
newForm.addFormData("Token", encryptedXMLString, MediaType.APPLICATION_XML_TYPE);
_service.requestDeviceCode((MultipartFormDataInput) newForm);
, но это просто не делает это (эта конкретная ошибка в том, что я не могу бросить форму вывода в форму ввода). Я не смог найти способ создания нового MultiPartFormDataInput и добавить к нему данные.
У кого-нибудь есть совет?
Вы пытаетесь проверить способность вашего кода для извлечения данных из MultiPartFormDataInput, или тест, что ваша программа правильно использует данные, которые он получил от объекта ? – aglassman
Для этого я проверяю способность моего кода правильно извлекать данные из формы. У меня есть другие тесты, которые вызывают метод, в котором используется токен, извлеченный из формы, и те работают, но для полноты я хотел бы иметь интеграционный тест, который проверяет эту службу от конца до конца, поэтому пытается создать и заполнить объект MultipartFormDataInput. –
Удивляясь, если у вас есть что-то еще с этим ... – drvdijk