【发布时间】:2016-11-26 16:23:31
【问题描述】:
所以我有这个小功能
module.exports = {
setupNewUser(info, callback) {
var user = {
name: info.name,
nameLowercase: info.name.toLowerCase()
}
try {
Database.save(user, callback)
}
catch(err) {
callback(err)
}
}
}
我用 sinon 来测试这个方法
const setupNewUser = require('./index').setupNewUser
const sinon = require('sinon')
const assert = require('assert')
const Database = {
save(info, cb) {
if (info === undefined) {
return cb('nope')
} else {
return cb()
}
}
}
describe('#save()', function () {
it('should call save once', function() {
var save = sinon.spy(Database, 'save')
setupNewUser({ name: 'test' }, function() { })
save.restore()
sinon.assert.calledOnce(save)
})
})
当我运行测试时它失败了,知道为什么吗?
错误信息
AssertError: 预期保存被调用一次但被调用了 0 次
【问题讨论】:
标签: javascript unit-testing mocha.js sinon