Я пишу эту глобальную функцию, чтобы утвердить поля с ожидаемым сообщением и полем передачи, а в качестве параметров - ожидаемое сообщение.
postman.setEnvironmentVariable("errorMessages", () => {
var assertFieldErrorMessage = (field,expectedMessage) => {
if (responseBody.has("data")) {
pm.expect(pm.response.json().data.fieldErrors.get(field)).to.include(expectedMessage);
}
};
return {
myPackage: {
assertFieldErrorMessage
}
};
Так я вызываю функцию из моего тестового сценария
let errorMessages = eval(environment.errorMessages)();
errorMessages.myPackage.assertFieldErrorMessage("email","Invalid value");
А вот так выглядит тело ответа:
"data": {
"globalErrors": [],
"fieldErrors": {
"email": [
"Invalid value for - "
]
}
}
С трудом можно утверждать поля в fieldErrors без жесткого их кодирования. Что в этом плохого?