Javascript 使用存根测试

Javascript testing with stubbing

我有这个功能

export const getBigData = (param) => {
  return new Promise((resolve) => {
    reqwestWrapper.post({
      url,
      data: {"someKey": "someData"},
      success: (result) => {
        resolve(result.data);
      }
    });
  });
}

我正在尝试编写一个测试来断言。post 被调用的值是正确的,所以我测试为

let url = 'some-url',
    data = {},
    successCallback = sinon.stub();

expect(reqwest.post).calledWith({url, data, successCallback}) 

但是测试失败,说预期的参数不匹配。

AssertionError: expected post to have been called with arguments { data: {  }, successCallback: function stub() {}, url: "some-url" }
post({ data: {  }, success: function success() {}, url: "some-url" })

有什么建议吗?

您实际上并没有在提供的代码中调用 request.post。您只需设置呼叫测试。测试前你需要做的:

reqest.post({url, data, successCallback});