Jasmine:基于方法参数的模拟方法响应
Jasmine: mock method response based on method's parameters
我的问题很简单。仅当某个值传递给该方法时,我才想模拟该方法。像这样:
spyOn(myObj, "getUser").and.withArgs('userA').and.returnValue(null);
如果使用值 'userA' 调用方法 getUser,该方法应该 return null。
Jasmine 有可能吗?我正在使用 Karma 和 jasmine-core": "^2.6.1 和 jasmine-jquery": "^2.1.1"
尝试利用 callFake
:
spyOn(myObj, 'getUser').and.callFake(arg => {
if(arg === 'userA') {
return null;
} else {
return 'hello'; // it is up to you what to return if it is not 'userA'
}
});
我的问题很简单。仅当某个值传递给该方法时,我才想模拟该方法。像这样:
spyOn(myObj, "getUser").and.withArgs('userA').and.returnValue(null);
如果使用值 'userA' 调用方法 getUser,该方法应该 return null。
Jasmine 有可能吗?我正在使用 Karma 和 jasmine-core": "^2.6.1 和 jasmine-jquery": "^2.1.1"
尝试利用 callFake
:
spyOn(myObj, 'getUser').and.callFake(arg => {
if(arg === 'userA') {
return null;
} else {
return 'hello'; // it is up to you what to return if it is not 'userA'
}
});