首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角阿波罗V3 - Jest错误:找不到模块“阿波罗-角”

角阿波罗V3 - Jest错误:找不到模块“阿波罗-角”
EN

Stack Overflow用户
提问于 2022-04-01 09:27:31
回答 1查看 758关注 0票数 0

我最近更新了角阿波罗从2.6.0到v3.0.0,这个更新打破了我的测试。

我在单元测试中使用jest,虽然应用程序编译和运行良好,但我的测试无法从“阿波罗角”导入任何依赖项,并且我会收到如下错误:

代码语言:javascript
复制
  Test suite failed to run

    Cannot find module 'apollo-angular' from 'src/graphql/generated/graphql.ts'

    Require stack:
      src/graphql/generated/graphql.ts
      src/app/pages/test/test.component.ts
      src/app/pages/test/test.component.spec.ts

      1 | /* eslint-disable */
    > 2 | import { gql } from 'apollo-angular';
        | ^
      3 | import { Injectable } from '@angular/core';
      4 | import * as Apollo from 'apollo-angular';
      5 | export type Maybe<T> = T | null;

      at Resolver.resolveModule (node_modules/jest-resolve/build/resolver.js:324:11)
      at Object.<anonymous> (src/graphql/generated/graphql.ts:2:1)

模块分辨率上有一个命令,因为‘阿波罗角’v3正在使用.mjs,解析的文件将是package.json (在node_modules/apollo-angular/package.json中),package.json包含‘模块’属性。

代码语言:javascript
复制
{
  "module": "build/fesm2020/ngApollo.mjs",
}

简而言之,在导入import * as Apollo from 'apollo-angular'时,我期望jest解析node_modules/apollo-angular/package.json,其中一个指向build/fesm2020/ngApollo.mjs,这是要导入的预期文件。

同样,TS正在正确编译项目,并且能够导入这个es模块,但不能开玩笑。我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-01 11:56:25

好像我用的是一个旧版本的jest-preset-angular

代码语言:javascript
复制
"jest-preset-angular": "^9.0.7",

我更新到

代码语言:javascript
复制
"jest-preset-angular": "^11.1.1",

然后,我做了一个小改动,修复了从我的import 'jest-preset-angular/setup-jest';文件中删除setup-jest.ts行,bug就消失了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71704711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档