如何在Jest测试中处理.gql文件导入

时间:2019-06-12 17:58:17

标签: graphql jestjs apollo vue-apollo graphql-tag

我正在尝试测试导入.gql文件的组件。当我尝试在Jest文件中构建组件时,收到此错误:

screenshot

有人知道如何忽略导入吗?因为我不需要测试GraphQL调用。

1 个答案:

答案 0 :(得分:0)

如果使用webpack并使用.gql附带的加载器,则可以直接导入

GraphQL文档(通常具有graphql-tag扩展名)。 Jest无法立即使用webpack,需要进行配置以处理资产文件(如样式表,图像等)的任何导入。此过程概述为in the docs

根据graphql-tag文档:

  

不支持Webpack的测试环境需要其他配置。对于Jest,请使用jest-transform-graphql。

因此,您可以将jest-transform-graphqlbabel-jest插件一起使用,您可能已经在使用它:

"jest": {
  "transform": {
    "\\.(gql|graphql)$": "jest-transform-graphql",
    ".*": "babel-jest"
  }
}

技术上可以通过添加docs中所示的moduleNameMapper config选项来模拟文件,但是,这样做很可能会破坏您的组件。