Sinon FakeXmlHttpRequest的计时问题?

时间:2018-08-18 12:41:01

标签: sinon

因此,基本上,我有此类Abc,在运行时执行期间,我在两点调用了XHR请求。我面临的问题是,锡诺提供的请求对象只有其中一个请求,而没有两个。 尽管在以后的阶段,这个新请求被推入了请求队列。

describe("sinon fake xhttp fail debug", () => {
  beforeEach(function() {
    this.xhr = sinon.useFakeXMLHttpRequest();
    this.xhr.onCreate = function (xhr) {
         requests.push(xhr);
    };
  });
  afterEach(function () {
    this.xhr.restore();
  });
  it('Test', (done) => {
    var abcObj = new Abc();
    abcObj.foo().then(() => {
       // certain validations of the class being tested.
    });
    // console.log(requests.length); Here requests.length = 1
    requests[0].respond(200, {'Content-Type': 'text/xml'}, xmlStr);
    // requests[1] will not exist. So I am unable to requests[1].respond
  });
});

但是,在foo()方法中进行了一系列操作之后,this.xhr.onCreate方法实际上确实将第二个xhr请求推送到了请求列表中。 如何确保定义了request [1]并且可以安全地使用request [1] .respond方法?

0 个答案:

没有答案