如何为 graphql 编写单元测试。我正在使用 apollo 服务器、graphql-tester 和 graphql。
当我运行测试时,它会出现以下错误
{ raw: '{"errors":[{"message":"Cannot read property \'definitions\' of undefined"}]}',
数据:未定义,
错误:[ {消息:'无法读取未定义的属性\'定义\'}],
标题:
{ 'x-powered-by': '快递',
'内容类型':'应用程序/json',
日期:'2017 年 1 月 18 日,星期三,格林威治标准时间 05:56:22',
连接:'关闭',
'传输编码':'分块'},
状态:400,
成功:假}
1) 返回成功
0 次通过(35 毫秒)
1 次失败
1) Unittest1 返回成功:
TypeError:无法读取未定义的属性“成功”
在断言。(node_modules/chai/lib/chai/core/assertions.js:890:14)
在 Assertion.ctx.(匿名函数) (node_modules/chai/lib/chai/utils/addMethod.js:41:25)
在 Assertion.somethingMethod (node_modules/chai-things/lib/chai-things.js:97:25)
在 Assertion.ctx.(匿名函数) (node_modules/chai/lib/chai/utils/overwriteMethod.js:49:33)
在 Assertion.allMethod (node_modules/chai-things/lib/chai-things.js:165:25)
在 Assertion.ctx.(匿名函数) (node_modules/chai/lib/chai/utils/overwriteMethod.js:49:33)
在 node_modules/chai-as-promised/lib/chai-as-promised.js:305:22
在 process._tickCallback (internal/process/next_tick.js:103:7)
以下是单元测试。
const tester = require('graphql-tester').tester;
const fromGlobalId = require('graphql-relay').fromGlobalId;
const chai = require('chai');
柴.应该();
chai.use(require('chai-things'));
chai.use(require('chai-properties'));
chai.use(require('chai-arrays'));
chai.use(require('chai-as-promised'));
描述('网站',()=> {
让站点测试=测试器({
网址:'http://localhost:3000/graphql'
});
描述('Unittest1',()=> {
const response = sitesTest('{viewer {id}}').then((data) => {
控制台日志(数据)
});
it('返回成功', () => {
返回 response.should.eventually.have.property('success').equal(true);
});
});
});