【发布时间】:2018-07-12 19:01:48
【问题描述】:
我在使用 Jest 单元测试来测试我的代码时收到这条神秘的错误消息。
console.error node_modules/jest-jasmine2/build/jasmine/Env.js:198 未处理的错误
console.error node_modules/jest-jasmine2/build/jasmine/Env.js:199 错误 在 model.wrappedPointCut [保存] (/home/pi/dev/Group_2/node_modules/mongoose/lib/services/model/applyHooks.js:131:29) 在 /home/pi/dev/Group_2/controllers/Manager.js:80:17 在 Array.map() 在 /home/pi/dev/Group_2/controllers/Manager.js:79:55 在 在 process._tickCallback (internal/process/next_tick.js:160:7)
console.error node_modules/jest-jasmine2/build/jasmine/Env.js:198 未处理的错误
console.error node_modules/jest-jasmine2/build/jasmine/Env.js:199
这是我的测试代码的样子
it.only('Adding a shift entry to DB works', () => {
expect.assertions(3);
return m.associateToShifts(["johnDoe"], ["Mondays"]).then(cmdResult => {
expect(cmdResult.length).toBe(1);
expect(cmdResult[0].employee.employeeId).toBe("johnd");
expect(cmdResult[0].shift.shiftTitle).toBe("Mondays");
}).catch(e => console.log(`Error: Cannot add shift to DB properly. ${e}`));
});
这是我在 Manager.js 中的代码在第 70 - 81 行的样子,这就是 jest-jasmine2 所抱怨的:
var employeeData = Promise.all(employees.map(function(emp) {
emp.save();
}));
employees 是基于 mongoose findOne() 员工查询的员工对象数组。
尽管显示了此错误,但测试通过了。
以下是我尝试过的一些事情:1) 将 Jest 更新到版本 22.0.6 2) 将 Node JS 更新到版本 9.4.0。这些尝试都没有奏效。
【问题讨论】:
标签: javascript node.js mongodb mongoose jestjs