小编Tho*_*ann的帖子

如何使用 jest 使用片段测试 GraphQL 查询

问题:我想测试一个位于.graphql文件中的 GraphQL 查询,如下所示:

#import '../../fragments/Widget.graphql'

query WidgetFragment($id: ID) {
    readWidgetFragment(id: $id) {
        ...Widget
    }
}
Run Code Online (Sandbox Code Playgroud)

为了创建一个带有模拟解析器和数据的 GraphQL 模式,我使用 makeExecutableSchemaaddMockFunctionsToSchema来自graphql-tools

要从 jest 测试中运行查询,我的理解是我需要使用graphql-js 中graphql()函数

此函数需要将查询作为string,所以我尝试了两种不同的方法,但都没有奏效:

  • .graphql文件解析为普通文本文件,给出原始字符串(在我的 jest 配置中使用jest-raw-loader)。这给了我:Failed: Errors in query: Unknown fragment "Widget".当我运行查询时。
  • 使用jest-transform-graphql.graphql文件解析为query对象。我相信这应该是正确的方法,因为它应该正确解析任何导入的片段。但是,要执行查询,我需要传递给,这会导致与选项 1 相同的错误消息。query.loc.source.bodygraphql

jestjs graphql graphql-js graphql-tag

5
推荐指数
1
解决办法
1460
查看次数

标签 统计

graphql ×1

graphql-js ×1

graphql-tag ×1

jestjs ×1