【发布时间】:2021-07-30 19:49:35
【问题描述】:
我在测试 javascript 方面相当新,并尝试进行测试,我可以在其中捕获函数抛出的错误并在测试中捕获它。然而,经过多次尝试,我最终在这里询问我应该如何在期望中捕获错误对象。我指的是Q/A。
这是我的代码:
export const createCourse = async (courseData: ICourse, userId: string) => {
logInfo('Verifying if user is a volunteer');
const volunteer: Volunteer | null = await getVolunteer(userId);
if (volunteer == null) {
logError('User must be a volunteer');
throw new Error('User must be a volunteer');
}
// do some stuff
};
这是我在测试文件中写的内容:
describe.only('Try creating courses', function () {
before(async function () {
user_notVolunteer = await addUser(UserNotVolunteer);
});
after(async function () {
await deleteUser(UserNotVolunteer.email);
});
it('Creating a course when user is not volunteer', async function () {
course = await createCourse(test_course, user_notVolunteer.id);
expect(course).to.throws(Error,'User must be a volunteer');
});
});
这里我试图匹配错误的类型以及错误的字符串,但没有通过它。
我也尝试了更多这样的代码,
expect(function () {
course;
}).to.throw(Error, 'User must be a volunteer');
【问题讨论】:
标签: javascript node.js unit-testing mocha.js chai