所以...我在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.