reactjs - Graphql:Typescript + Jest + Relay + Jest 似乎无法集成在一起

标签 reactjs typescript graphql relayjs relaymodern

我正在测试使用 Typescript 和 Relay 构建的 React 应用程序。当我尝试测试继电器供电组件时,出现以下错误:

 Unexpected invocation at runtime. Either the Babel transform was not set up, or it failed to identify this call site. Make sure it is being used verbatim as `graphql`.

我有以下 .babelrc 文件:


{
  "presets": ["@babel/env", "@babel/react"],
  "plugins": ["relay",
    [
      "transform-relay-hot",
      {
        "schema": "./schema.graphql",
        "watchInterval": 2000,
        "verbose": true
      }
    ]
  ]
}


以及以下 Jest 配置:

module.exports = {
  roots: ["<rootDir>/src"],
  transform: {
    "^.+\\.tsx?$": "ts-jest",
  },
  testRegex               : "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
  moduleFileExtensions    : ["ts", "tsx", "js", "jsx", "json", "node"],
  transformIgnorePatterns : ["node_modules/(?!(date-fns))"],
  moduleNameMapper: {
      "^Apps(.*)$"      : "<rootDir>/src/apps$1",
      "^Pages(.*)$"     : "<rootDir>/src/pages$1",
      "^Components(.*)$": "<rootDir>/src/components$1",
      "^Logic(.*)$"     : "<rootDir>/src/logic$1",
      "^Theme(.*)$"     : "<rootDir>/src/theme$1",
      "^Config(.*)$"    : "<rootDir>/src/config$1",
      "^Public(.*)$"    : "<rootDir>/src/public$1",
  },
  globals: {
    'ts-jest': {
      tsConfig: "tsconfig.json",
      // diagnostics: false
    }
  },

  setupTestFrameworkScriptFile: "./src/test/test.setup.ts"
};



我在这里遗漏了什么吗?

最佳答案

不确定这个问题是否仍然相关,但这就是我的情况。

我在使用 ts-jest 时遇到了同样的问题。我花了几天时间在这上面。基本上切换到 babel-jest 解决了这个问题。 jest.config.js

module.exports = {
  ...
  transform: {
    "\\.[jt]sx?$": "babel-jest",
    ...
  },
  ...
  globals: { // if necessary
    'jest': { // don't forget to change `ts-jest` to `jest` here
      babelConfig: true
    }
  }
}

关于reactjs - Graphql:Typescript + Jest + Relay + Jest 似乎无法集成在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54401986/

相关文章:

database - 当 Relay 游标分页总是获取整个数据集时,它如何处理大数据集?

github - 使用 GitHub GraphQL API v4 查询单个存储库中的所有提交

javascript - 如何在同一组件中使用 React useContext 来显示上下文中的数据

javascript - TypeScript 的依赖排序器

javascript - 无法在应用程序组件中的 Angular 6 中找到路线自定义数据

typescript - 使用接口(interface)函数签名的函数参数

GitHub GraphQL 搜索仅限于语言

reactjs - react |多个动态选择框的单个onchange方法

javascript - React Admin 如何使用基本身份验证?在我的示例中,Auth header 很好地发送到入口点,但未发送到所有其他端点

javascript - ReactJS 组件名称必须以大写字母开头吗?