В следующей статье приведен пример публикации полезных данных multipart / form-data в MUnit.
- Мул версия: 4.2.2
- Версия MUnit: 2.2.2
В этой статье предполагается, что вы уже создали RAML и имеете метод POST, принимающий содержимое multipart / form-data и утверждающий, что это можно сделать в соответствии с вашими требованиями.
Метод POST в этой статье предполагает следующее:
- JSON — файл JSON как часть
- Несколько бинарных файлов как часть
Когда выполняется запрос к этому методу POST от Postman или ARC, тип контента выбирается как multipart / form-data, а файлы выбираются с помощью кнопки выбора / выбора файла. Но чтобы сделать тот же запрос в MUnit, где фиктивный запрос нужно отправить методу POST, используйте следующий пример.
Вы также можете прочитать:
Обработка файловых вложений в Mule 4 (Использование multipart / form-data)
В вашем приложении в каталоге src / test / resources создайте папку files / request .
Под файлами / запрос папки, скопируйте имитировал запрос файлы для многоголосного.
В папке src / test / munit откройте файл набора тестов и удалите Set Event в разделе Поведение из палитры -> MUnit.
В свойствах Set событий на вкладке Общие и обновление полезной нагрузки типа носителя для многочастных / данных формы и значения .
Примечание. Не забудьте включить # [], чтобы сделать его выражением, поскольку кнопка здесь недоступна.
Вот полное значение полезной нагрузки с # []
JSON
1
#[
2
%dw 2.0
3
output multipart/form-data
4
---
5
{
6
parts: {
7
json: {
8
headers: {
9
"Content-Disposition": {
10
name: "json",
11
subtype: "form-data",
12
filename: "postReq.json"
13
},
14
"Content-Type": "application/json",
15
"Content-Transfer-Encoding": "binary"
16
},
17
content: MunitTools::getResourceAsStream('files/request/postReq.json')
18
},
19
one: {
20
headers: {
21
"Content-Disposition": {
22
name: "one",
23
subtype: "form-data",
24
filename: "1.pdf"
25
},
26
"Content-Type": "application/pdf",
27
"Content-Transfer-Encoding": "binary"
28
},
29
content: MunitTools::getResourceAsStream('files/request/1.pdf')
30
},
31
two: {
32
headers: {
33
"Content-Disposition": {
34
name: "two",
35
subtype: "form-data",
36
filename: "2.pdf"
37
},
38
"Content-Type": "application/pdf",
39
"Content-Transfer-Encoding": "binary"
40
},
41
content: MunitTools::getResourceAsStream('files/request/2.pdf')
42
},
43
three: {
44
headers: {
45
"Content-Disposition": {
46
name: "three",
47
subtype: "form-data",
48
filename: "3.pdf"
49
},
50
"Content-Type": "application/pdf",
51
"Content-Transfer-Encoding": "binary"
52
},
53
content: MunitTools::getResourceAsStream('files/request/3.pdf')
54
}
55
}
56
}
57
]
Спасибо за прочтение!
Дальнейшее чтение
Тестирование загрузки файлов API REST в JMeter
Преобразование multipart / form-data в XML с помощью MuleSoft и JavaScript