我试图通过创建IF语句的模拟值来测试我的函数,因为它在testFunction中描述
在其中一个文件myFunction.js中,我有像
这样的函数function testFunction() {
var job = this.win.get.value1 //test
var job1 = this.win.get.value2 // test1
if(job === 'test' && job1 === 'test1') {
return true;
}
return false;
}
我试图使用karma测试testFunction,我尝试使用sinon存根测试函数这样
it('should test my function', function(done) {
var stub = sinon.stub(myFunction,'job','job1').returns('test','test1');
myFunction.testFunction('test', function(err, decodedPayload) {
decodedPayload.should.equal(true);
done();
});
});
有人可以告诉我我在做错的地方吗?
答案 0 :(得分:0)
您错误地使用了sinon.stub
。您需要对sinon.stub
进行两次调用,每次调用myFunction
一个您想要存根的方法。
it('should test my function', function(done) {
sinon.stub(myFunction,'job').returns('test');
sinon.stub(myFunction,'job1').returns('test1');
myFunction.testFunction('test', function(err, decodedPayload) {
decodedPayload.should.equal(true);
done();
});
});