我得到了 SyntaxError: Unexpected token .
的错误
在我的代码中
import 'react-dates/lib/css/_datepicker.css'
import 'semantic-ui-css/semantic.min.css'
这些不在我的 spec.js 中,而是在我的实现代码中,有什么线索吗?我运行我的应用程序没有问题,但是当我尝试运行测试时开玩笑地抛出错误。
原文由 Neini Amanda 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题是 Jest 正在访问这些 CSS 导入并试图像解析 JavaScript 一样解析它们。
“意外令牌”。消息可能是因为它阻塞的文件的第一行是 CSS 类声明,即
.datepicker: { ... }
。无论如何,正 如此答案 中所指出的,解决此问题的方法是创建一个包含导出空对象的模块的文件。我打电话给我
styleMock.js
。然后,您需要在项目根目录中创建一个
jest.config.js
文件并添加:moduleNameMapper
设置告诉 Jest 如何解释具有不同扩展名的文件。在这种情况下,我们只需要将它指向我们刚刚创建的空文件。显然相应地调整文件的路径。请注意,您可以根据需要的任何文件结尾扩展上面的正则表达式。我的看起来像:
其中
fileMock.js
等同于styleMock.js
或者,您可以使用诸如 jest-transform-stub 之类的模块,它可以为您做同样的事情。