【发布时间】:2016-12-14 06:17:07
【问题描述】:
虽然有关于此的帖子,但我无法使用 before、after 函数和恢复对象来修复它。贴出以下代码:-
var Log = sinon.stub(hello, 'someEvent', function(type, name){
var obj = {};
obj.addData = function(data){
return;
};
obj.complete = function(){
return;
}
return obj;
}),
someVar = sinon.stub(servicecore, 'some'),
我得到的错误是:-
Attempted to wrap someEvent which is already wrapped.
和
Attempted to wrap some which is already wrapped.
有人可以帮忙吗?
以下编辑
我什至按照建议尝试了之前和之后的功能:-
var Log,someVar;
before(function(){
Log = sinon.stub(hello, 'someEvent', function(type, name){
var obj = {};
obj.addData = function(data){
return;
};
obj.complete = function(){
return;
}
return obj;
});
someVar = sinon.stub(servicecore, 'some');
});
after(function(){
Log.restore();
someVar.restore();
});
甚至尝试使用 beforeEach 和 afterEach 函数,但同样的错误。
【问题讨论】:
-
这真的是minimal reproducible example吗?你还在哪里打电话给
sinon.stub? -
您需要提供完整的示例。还要记住,如果在之前的测试中你有一个存根或间谍,你需要做一个restore,以避免与后续测试发生冲突。
-
嗨@Hosar,对不起,我是个菜鸟。我到底需要在哪里进行恢复。