【发布时间】:2019-04-02 23:40:52
【问题描述】:
我正在尝试使用 jest 来测试我的项目,但是在运行 npm run test 时,即使我的测试文件非常简单,我也会得到 ReferenceError: define is not defined。
test("Adding 1 + 1 equals 2", () => {
expect(1 + 1).toBe(2);
});
这导致我认为我的设置配置错误,但我认为我的配置中没有做任何可能导致这种情况的事情(我认为)。
当我在测试用例中没有直接使用define 时,为什么它告诉我define 没有定义,我很困惑。我将不胜感激任何指针!
谢谢!
编辑:这是我的package.json
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,mjs}"
],
"testMatch": [
"**/__tests__/**/*.js?(x)",
"**/?(*.)+(spec|test).js?(x)"
],
"testEnvironment": "node",
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx|mjs)$": "./node_modules/babel-jest",
"^.+\\.css$": "./config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|mjs|css|json)$)": "./config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$"
],
"moduleNameMapper": {
"^react-native$": "react-native-web"
},
"moduleFileExtensions": [
"web.js",
"js",
"json",
"web.jsx",
"jsx",
"node",
"mjs"
]
}
编辑 2:我发现即使我的测试文件中没有任何内容,我也会得到相同的 ReferenceError: define is not defined 错误
【问题讨论】:
-
你能分享你的笑话配置吗?
-
@Volodymyr 我已经用我的笑话配置更新了我的原始帖子。谢谢
-
你在使用 RequireJS 吗?据我所知,Jest 不支持 RequireJS。
-
@Tim 是的,至少似乎没有计划支持它github.com/facebook/jest/issues/17。而且我不知道任何解决方法。
标签: javascript reactjs jestjs