Jasmine + sinon fakeserver

时间:2016-02-04 20:19:58

标签: jasmine sinon

所以...我在Jasmine中为我的GraphQL控制器编写测试。然后,控制器依赖于另一个文件中的fetcher函数,该文件向WordPress请求数据,然后将其转换为GraphQL模式。

我担心我可能会对如何实现sinon fakeserver进行不完全的理解。

describe('graphql article by slug', function () {

  var server;

  beforeEach(() => {
    server = sinon.fakeServer.create();
  });

  afterEach(() => {
    server.restore();
  });

  it('should return the expected graphql result', function (done) {
    var server = sinon.fakeServerWithClock.create();
    server.respondWith(wpEndpoint, JSON.stringify(wpData()));
    graphqlController
      .loadJSON(request)
      .then(function (result) {
        console.log('result', result);
        console.log('expectedData', expectedData());
        expect(JSON.parse(result)).toEqual(JSON.parse(expectedData()));
        done();
      });
  });

});

当我进行上述测试时,我一直得到:

Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

1 个答案:

答案 0 :(得分:0)

您需要致电server.respond();完成请求,查看documentation