介绍
relay-compose-test 是一个基于 React Native 框架的中间件包,可以用于测试 GraphQL 查询或变异;其中,relay-compose-test 的特点是可以通过自定义函数将 GraphQL 查询或变异中的数据处理一遍,获得想要的测试结果。
安装
- NPM
npm install relay-compose-test
- Yarn
yarn add relay-compose-test
使用方法
使用 relay-compose-test 进行测试分为以下几个步骤:
- 安装相关依赖;
- 编写 Relay 风格的 GraphQL 查询或变异;
- 编写测试代码。
安装相关依赖
需要使用到以下依赖包:
- react-native
- react-native-fs
- graphql-tag
- graphql
npm install react-native react-native-fs graphql-tag graphql
或者使用 Yarn 安装:
yarn add react-native react-native-fs graphql-tag graphql
编写 Relay 风格的 GraphQL 查询或变异
relay-compose-test 适用于 Relay 风格的 GraphQL 查询或变异,示例如下:
query ExampleQuery($id: ID!) { node(id: $id) { id name email } }
编写测试代码
标准的例子:
-- -------------------- ---- ------- ------ - ------ - ---- ------- ------ - ----- - ---- ---------------- ------ - -------------- --------------- - ---- --------------------- ----------------- ------ -- -- - ------------- -- - ---------------- --- ------------ -- - ------------------ --- ---------- ------ --- ------- ------ -- -- - --------------------- - --- --- ---------------- -- - ------------------------------ ----- - --- ---- ----- -------- ------ ------ ------------------- -- --- --- --- ---
根据查询模式定制的示例代码:
-- -------------------- ---- ------- -- -- -------------- ---- ------ - ------ - ---- ------- ------ - ----- - ---- ---------------- ------ - -------------- --------------- - ---- --------------------- ----------------- ------ -- -- - ------------- -- - --------------- --------------- - ----- - ----- -- -- -------- ------ -- -- --- --- ------------ -- - ------------------ --- ---------- ------ --- ------- ------ -- -- - --------------------- - --- --- ---------------- -- - ------------------------------ ----- - --- ---- ----- -------- ------ ------ ------------------ -- --- --- --- ---
优缺点
优点
- relay-compose-test 可以用于自定义函数处理 GraphQL 查询或变异的后续数据,可以得到想要的测试结果;
- 支持自定义函数的渲染参数,灵活方便;
- 支持 Snapshot 测试。
缺点
- 仅适用于 Relay 风格的 GraphQL 查询或变异。
结论
在测试 GraphQL 查询或变异时,使用 relay-compose-test 可以大大提高测试效率,并且可以获得更加准确的数据,可以提高开发效率。但需要注意 relay-compose-test 仅适用于 Relay 风格的 GraphQL 查询或变异。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600566d381e8991b448e32a5