如何使用Jest

时间:2018-10-22 17:38:02

标签: javascript node.js unit-testing jestjs

我有一个要测试的肥皂映射方法。肥皂呼叫需要被嘲笑,但是我不知道该怎么做。

这是我要测试的地图方法:

import LovSoapCaller from './lovSoapCaller';

const lovOptinSoap = new LovSoapCaller('getAllOptinTypes');

class ScrSoapMapping extends SoapWSMapping {
  map(args) {
    const customerNumber = +args.shift();
    const result = lovOptinSoap.callWS(customerNumber);
    return result.optinValue;
  }
}

我要模拟的对象是lovOptinSoap,以便它返回某些内容而无需调用soap Web服务。我找到了模拟导入的示例,但是我认为这很棘手,因为我并没有真正在LovSoapCaller中导出对象:

class LovSoapCaller extends SoapCaller {
  constructor(method) {
    super(URL, method, mapping);
  }

  callWS(lang) {
    const params = {
      language: lang,
    };
    return super.call(params);
  }
}

export default LovSoapCaller; 

我尝试使用Jest spyOn()的方法,但不了解如何“注入”嘲笑(或间谍)的对象...

1 个答案:

答案 0 :(得分:0)

您可以向班级添加constructorhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor)。然后,您可以将lovOptinSoap传递给该构造函数。

相关问题