Мне нужна помощь для насмешек throw Error(JSON.stringify(studentErrorRes));
. Я не могу шутить над блоком catch должным образом, я могу сделать частичную проверку того, что выдается ошибка. Я могу попробовать блокировать без каких-либо проблем. Обычно, когда есть ошибка, которую я делаю, используя .mockRejectedValue
, она не работает в этом случае. Может кто-нибудь, пожалуйста, помогите мне, как я буду издеваться над этим?
Когда я шучу, я могу успешно проверить, что ошибка появляется, но я не могу проверить, что будет точное сообщение об ошибке? Если у меня в ключе const studentErrorRes
больше ключей, то как мне проверить, что в моем макете все мои ключи имеют правильные значения, как и ожидалось? Надеюсь, я не задумывался.
import { SNSEvent } from 'aws-lambda';
export const studentAPIGetHandler = async (event: SNSEvent): Promise<any> => {
try {
const studentID = event.studentInfo.studentID;
const studentPortal = StudentService.getStudentInfo(studentID);
} catch (error) {
const studentErrorRes = {
apiName: SuudentAPIName.Student_Message,
myMessage: 'Unable to get student API response',
};
logger.error(studentErrorRes.myMessage, error);
throw Error(JSON.stringify(studentErrorRes));
}
};
Часть контрольного примера для блока захвата
it("Catch block test for error", async () => {
try {
await studentAPIGetHandler(event);
} catch(e) {
expect(e).toThrowError;
// this verifies that error is thrown , but not exact error message
}
});