angular - 意外的 token 导出开 Jest

标签 angular jestjs

我看了很多关于这个问题的帖子,但我不明白如何解决它。我尝试了很多解决方案,但仍然出现错误。

 Details:

    /home/work/project/node_modules/ngx-cookie-service/index.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export * from './cookie-service/cookie.service';
                                                                                             ^^^^^^

    SyntaxError: Unexpected token export

      15 |         this.sessionStorage = sessionStorage;
      16 |         this.localStorage = localStorageService;
    > 17 |         this.cookieService = cookieService;
         |                              ^
      18 |     }
      19 |
      20 |     public set(key, value, useSessionStorage = true) {

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
      at Object.<anonymous> (src/myApp/coreModule/services/storageLayer.service.ts:17:30)
      at Object.<anonymous> (src/myApp/itemModule/components/category.component.ts:30:32)

所以我将它添加到我的 package.json 中:

  "jest": {
    "transformIgnorePatterns": [
      "node_modules/(?!ngx-cookie-service)"
    ]
  }

问题依旧。有人可以帮忙吗?我应该使用“moduleNameMapper”来模拟 ngx-cookie-service 吗?

非常感谢!

最佳答案

我加了

"transformIgnorePatterns": [
  "node_modules/(?!@ngrx|ngx-cookie-service|ng-dynamic)"
],

到 package.json 并解决了问题。

当我从正则表达式中删除 ng-dynamic 时,测试会因相同的执行而失败。我不知道为什么但他们不应该,imo,因为我没有那个模块。

关于angular - 意外的 token 导出开 Jest ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51731016/

相关文章:

带有@types/swiper 的 Angular

javascript - 开 Jest ,用不同的参数模拟同一个函数两次

javascript - Jest + process.env.NODE_ENV 未正确测试

javascript - 我觉得大多数用 jest 和 enzyme 进行的组件测试都是毫无值(value)的,我错了吗?

reactjs - 如何调试 React jest enzyme 测试用例

javascript - 如何使用 jest 测试 React 组件?

angular - 从 Angular 组件选择器获取内部文本

angular-cli 本地低版本

html - Angular 应用程序css样式中的ui-element-id

javascript - Angular 2 Webpack 演示无法运行