2

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

( object. anonymous function(module exports require __dirname __filename global jest) {
query getUser {                                                
      ˆˆˆˆˆˆˆ
<script>
import GET_USER from 'PATH';
ˆ

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

4

1 回答 1

10

.gql如果您使用 webpack 并使用graphql-tag. Jest 不适用于开箱即用的 webpack,需要配置为处理任何资产文件的导入,如样式表、图像等。此过程在 docs中进行了概述。

根据graphql-tag文档:

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

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

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

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

于 2019-06-12T18:39:02.830 回答