sinon을 사용하여 제 기능을 사용하는 서비스를 모의하려고하는데, 을 내 함수에 넣으십시오..모의가 필요합니다.
서비스는 require
내 기능을 사용하여 획득은 다음과 같이이다 :
// something.js
const service = require('./service');
module.exports = {
// do something using a service
doSomething: function (options) {
let results = [];
return service.foo(option.param)
// and return the value adding some logic
.then(function(resultFromService){
// want to test this flag
if (options.someFlag) {
results = resultFromService;
}
})
.then(function(){
/// more existing code here
return results;
});
}
}
내가 이런 service.foo
조롱하기 위해 노력하고있어 : 확인 후
const something = require('../../something.js');
const sinon = require('sinon');
...
it('should doSomething by calling foo in the service', function(done) {
///I'm getting this error here: Error: Trying to stub property 'foo' of undefined
sinon.stub(something.service , 'foo')
.returns(when(function() {
return ['bar', 'baz'];
}));
let promise = something.doSomething({param:'for service', someFlag:true});
});
을 그리고 내 doSomething
경우 메서드가 실제로 실행될 논리를 실행하고 있습니다.
내가 모의 서비스 및/또는 내 something
함수에서 변수를 범위로 지정된 개인 폐쇄로 정의되는 서비스에 대한 모의 기능을 삽입하려면 어떻게 Q..
것'doSomething' 사용을 사용하게? (시도) – OscarRyz
예. 삽입 된 조롱 된 객체를 사용해야합니다. – JavaKungFu