前言
在前端开发中,随着大量的业务场景需求,前后端分离越来越普遍,GraphQL也成为了前端框架中的一项重要技术。在开发中,使用Jest作为单元测试框架可以很好地对GraphQL schema进行测试,jest-serializer-graphql-schema是一个可以方便地将GraphQL schema转换为JSON格式并输出的插件。
安装
npm install --save-dev jest-serializer-graphql-schema
使用
在jest.config.js中配置
module.exports = { ... snapshotSerializers: ['jest-serializer-graphql-schema'], ... };
在测试文件中使用
import { printSchema } from 'graphql/utilities'; // 获取GraphQL schema import schema from '../schema'; test('测试GraphQL schema', () => { expect(printSchema(schema)).toMatchSnapshot(); });
以上代码会将GraphQL schema转换为JSON格式并存储在.snapshot文件中,以便于对比和维护。
注意事项
GraphQL版本
注意不同的GraphQL版本有不同的导出方式,如在9.x版本中,导入方式应为:
import { buildSchema } from 'graphql';
而在14.x版本中,导入方式应为:
import { graphql } from 'graphql';
测试
当对GraphQL schema进行修改后,需要重新运行测试并更新.snapshot文件。
示例代码
-- -------------------- ---- ------- ------ - ----------- - ---- ---------- ----- ------ - ------------- ---- ----- - ------ ------ - --- ------ ------- -------
总结
以上就是npm包jest-serializer-graphql-schema使用教程,希望能为广大前端开发者提供帮助。在实际开发中,我们要注重为GraphQL schema编写单元测试,确保代码的稳定性和正确性,在Jest单元测试框架中,jest-serializer-graphql-schema插件可以提供方便的输出功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/195934