首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行包含导入SyntaxError文件的Jest测试时的CoffeeScript

运行包含导入SyntaxError文件的Jest测试时的CoffeeScript
EN

Stack Overflow用户
提问于 2016-09-22 10:17:10
回答 2查看 879关注 0票数 0

我正在编写一个Jest集成测试来测试我的服务器。这是我的测试:

代码语言:javascript
复制
import { app, port } from '../server' // the other lines are not so important
...

当运行jest时,会引发一个错误:

代码语言:javascript
复制
__tests__/graphql.test.js
  ● Test suite failed to run

    <project folder>/node_modules/papercut/lib/papercut.coffee:3
    {FileStore, S3Store, TestStore } = require('./store')
                                     ^
    SyntaxError: Unexpected token =

我在Jest测试中需要server.js,这个文件需要upload.js,这个文件需要名为papercut的节点模块。问题是,它是用CoffeeScript编写的,而不是纯JS。

开始时,我犯了一个错误:Jest:无法找到模块内部需要测试的模块(相对路径)。我将coffee添加到package.jsonjest配置中,如下所示:

代码语言:javascript
复制
"jest": {
  "moduleFileExtensions": ["js", "json", "jsx", "node", "coffee"]
},

但是现在我有了前面描述的错误。

我该怎么处理呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-29 12:12:38

我最终做了两件事来解决这个问题:

  • 为咖啡文件添加预处理程序(类似于其他问题)
  • "preprocessorIgnorePatterns": []添加到Jest中。如果您不明确地告诉.coffee文件您也想编译这些文件,那么Jest会忽略node_modules/中的well文件。
票数 0
EN

Stack Overflow用户

发布于 2016-09-22 22:36:40

您需要为Jest设置一个预处理器,因为它不能处理咖啡脚本。

在此之前已经回答了这一问题,所以我不会详细讨论。es6之所以“开箱即用”,是因为在大多数反应代码库中,es6实际上是提供了jest的。

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

https://stackoverflow.com/questions/39636361

复制
相关文章

相似问题

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