如何为 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); }); }); });