我正在使用mocha和sinon进行nodejs单元测试。我有以下
users.js
const Database = require('./lib/Database');
exports.setupNewUser = (name) => {
var user = {
name: name
};
try {
Database.save(user);
}
catch(err) {
console.error('something failed');
}
}
Database.js
exports.save = (user) => {
console.log(`saving: ${user}`);
};
userTest.js
const sinon = require('sinon');
require('chai').should();
const users = require('../src/users');
describe('users', () => {
it('should log an error when the Database save fails', () => {
var databaseSpy = sinon.spy(Database, 'save').throws(); // this is supposed to work??
users.setupNewUser('Charles');
databaseSpy.should.be.called;
});
});
根据我读过的sinon tutorials,我应该能够创建databaseSpy
,但我不断收到此错误:ReferenceError:数据库未定义
我错过了什么?
答案 0 :(得分:0)
这似乎可能是一个路径问题。您的要求可能无法获得正确的路径。
<强> users.js 强>
const Database = require('./lib/Database');
/ lib / Database与users.js文件的关系在哪里?我认为这可能是一个开始寻找的好地方。