让Jest在testing时忽略无用的导入
testing组件
我正在尝试对Jest的反应组件进行一些非常简单的testing。 我遇到了问题,因为这个行在我的组件文件的顶部
import {} from './style.less';
这里的input不需要testing,理想情况下可以忽略testing。
[npmtesting]的结果
当通过npm test
运行npm test
我得到响应
FAIL testing /app_test.js●运行时错误SyntaxError:意外的标记{在文件'client / components / app / style.less'中。
确保预处理器设置正确,并确保“preprocessorIgnorePatterns”configuration正确: http : //facebook.github.io/jest/docs/api.html#preprocessorignorepatterns-array-string如果您当前正在设置Jest或修改你的预处理器,试试
jest --no-cache
。 预处理器:node_modules / jest-css-modules。 Jest试图执行以下预处理代码://一些无代码
但是,如果我注释掉更less的导入行,我的testing运行正常。
题
我怎样才能让开玩笑跳过这一行代码或忽略此导入?
除了手动嘲讽testing顶部的.less文件之外,唯一可以让我忽略更less文件的方法是,
jest.mock("../../src/styles.less", () => jest.fn());
是将以下内容添加到package.json中:
"jest": { "moduleNameMapper": { ".*\\.less$": "<rootDir>/pathToDummyFile/dummy.js" } },
每当你的代码尝试导入一个较less的文件,它将redirect导入,以获取一个空的虚拟文件,这将避免您遇到的意外的令牌错误。
如果您仍然遇到此问题,请尝试将以下configuration添加到您的jest.config.json
文件中:
"transform": { "^.+\\.(css|less)$": "./styleMock.js" }
在你的styleMock.js
你正在创build一个转换你的.less
文件的变换器:
module.exports = { process() { return '' } }
我已经用ignore-styles( https://github.com/bkonkle/ignore-styles )解决了同样的问题。 我已经使用这个库摩卡,但我认为这应该可以与笑话。