相关疑难解决方法(0)

有没有办法根据参数修改Jasmine间谍?

我有一个函数我想测试哪个调用外部API方法两次,使用不同的参数.我想用Jasmine间谍模拟这个外部API,并根据参数返回不同的东西.在Jasmine有什么办法吗?我能想到的最好的是使用andCallFake的hack:

var functionToTest = function() {
  var userName = externalApi.get('abc');
  var userId = externalApi.get('123');
};


describe('my fn', function() {
  it('gets user name and ID', function() {
    spyOn(externalApi, 'get').andCallFake(function(myParam) {
      if (myParam == 'abc') {
        return 'Jane';
      } else if (myParam == '123') {
        return 98765;
      }
    });
  });
});
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing jasmine

129
推荐指数
2
解决办法
7万
查看次数

标签 统计

jasmine ×1

javascript ×1

unit-testing ×1