Javascript 在解决sinon时获得重复迭代,无法在nodejs中进行单元测试
我正在尝试使用sinon在Nodejs中进行单元测试 我已经安装了以下库- 摩卡咖啡 [2] 柴慧敏 [3] 西农 这是我的密码- unitTest app.jsJavascript 在解决sinon时获得重复迭代,无法在nodejs中进行单元测试,javascript,angular,unit-testing,mocha.js,sinon,Javascript,Angular,Unit Testing,Mocha.js,Sinon,我正在尝试使用sinon在Nodejs中进行单元测试 我已经安装了以下库- 摩卡咖啡 [2] 柴慧敏 [3] 西农 这是我的密码- unitTest app.js var sinon = require('sinon'); it('calls the original function', function(){ var callback = sinon.fake(); var proxy = once(callback); proxy(); assert(
var sinon = require('sinon');
it('calls the original function', function(){
var callback = sinon.fake();
var proxy = once(callback);
proxy();
assert(callback.called);
});
it('calls the original function only once', function () {
var callback = sinon.fake();
var proxy = once(callback);
proxy();
proxy();
assert(callback.calledOnce);
// ...or:
// assert.equals(callback.callCount, 1);
});
unitTest.js
var sinon = require('sinon');
it('calls the original function', function(){
var callback = sinon.fake();
var proxy = once(callback);
proxy();
assert(callback.called);
});
it('calls the original function only once', function () {
var callback = sinon.fake();
var proxy = once(callback);
proxy();
proxy();
assert(callback.calledOnce);
// ...or:
// assert.equals(callback.callCount, 1);
});
功能一次(fn){
var返回值,
调用=错误;
返回函数(){
如果(!调用){
调用=真;
returnValue=fn.apply(这是参数);
}
返回值;
};
}
无法运行单元测试
运行命令时-
npm run test
获取错误-
以下是npm脚本:
“脚本”:{
“测试”:“摩卡”,
“测试:覆盖范围”:“纽约npm t”
},
然后,您可以使用npm test
命令运行测试。此外,您应该将测试文件放入正确的目录中。看
one.js
:
功能一次(fn){
var返回值,
调用=错误;
返回函数(){
如果(!调用){
调用=真;
returnValue=fn.apply(这是参数);
}
返回值;
};
}
module.exports={once};
一次.test.js
:
var sinon=require('sinon');
var assert=require('assert');
var{once}=require('./once');
它('调用原始函数',函数(){
var callback=sinon.fake();
var proxy=一次(回调);
proxy();
断言(callback.called);
});
它('只调用原始函数一次',函数(){
var回调=sinon.false();
var proxy=一次(回调);
proxy();
proxy();
断言(callback.calledOnce);
});
单元测试结果:
✓ calls the original function
✓ calls the original function only once
2 passing (6ms)
您的
包.json
中的npm run test
行如何?“scripts”:{“test”:“npm run test”}-->这样行吗?