在应用程序上运行jest失败,原因是:
Details:
/home/**/node_modules/monaco-editor/esm/vs/editor/editor.api.js:5
import { EDITOR_DEFAULTS } from './common/config/editorOptions.js';
^
SyntaxError: Unexpected token {
> 1 | import * as monaco from "monaco-editor/esm/vs/editor/editor.api.js";
| ^
2 |
3 | /**
4 | * Get create function for the editor.
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
at Object.<anonymous> (src/utils/editor-actions.js:1:1)
应用程序已经安装了jest
和babeljest
的软件包。
巴别塔配置:
const presets = [
[
"@babel/env",
{
targets: {
edge: "17",
firefox: "60",
chrome: "67",
safari: "11.1"
},
useBuiltIns: "usage",
corejs: 3,
}
],
"@babel/preset-react"
];
const plugins = [
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-proposal-class-properties",
"babel-plugin-styled-components"
];
module.exports = { presets, plugins };
我对Jest和摩纳哥也有同样的问题,为了通过测试,我必须:
我正在使用:
在这个问题上帮助我的唯一解决方法(从这里开始):
在文件夹__mocks__
创建文件react-monaco-editor.js
与内容:
import * as React from 'react';
export default function MonacoEditor() {
return <div />;
}
从monaco延迟加载模块的文档中建议的导入语句会导致esm文件夹,jest对此并不熟悉。
import * as monaco from "monaco-editor/esm/vs/editor/editor.api.js";
默认情况下,babeljest
不会转换node\u模块
,因此任何引用monaco编辑器的内容都会出错。一种可能的解决方案是,如文档中所述,通过
transformIgnorePatterns
将monaco编辑器
包包含到编译步骤中
将以下内容添加到jest配置:
{
"transformIgnorePatterns": [
"node_modules\/(?!(monaco-editor)\/)"
]
}
注:如果您使用的是
jest-dom
,它可能会开始抱怨没有从monaco-editor
中实现某些功能,您可以通过以下方式模拟它:
jest.mock("monaco-editor/esm/vs/editor/editor.api.js");
当我运行测试时,代码中出现了“意外的令牌错误: 错误被抛出到“( 我写过笑话测试。这是我第一次使用酶和react编写测试用例。所以我不熟悉这个设置。我已经安装了:babel jest、react dom、babel插件转换导出扩展、enzyme-adapter-react-16、react测试渲染器、@babel/preset env和@babel/core package.json: jest.
我在将单元测试集成到项目的特定文件夹中时遇到问题。 我的架构如下: 作业板和管理面板都包含指向共享的符号链接,位于,每个都包含安装了babel eslint的文件夹。shared不包含node_modules文件夹,它依赖于另外两个文件夹的node_模块。 有了这个架构,我成功地配置了我正在使用的所有工具(Webpack、eslint、eslint loader等等,但不是Jest)。 问题是,当
vscode调试一个程序,但是程序运行完后,却无法结束.终端可以正常使用.这个调试控制板无法关闭,如果再发起一次调试,就会如下所示 这是为什么,如何解决
问题内容: 我有一个取决于环境变量的应用程序,例如: 我想测试例如: 可以通过节点env变量设置APP_PORT。 或某个应用程序正在使用以下命令设置的端口上运行 我如何用Jest做到这一点?我可以在每次测试之前设置这些变量,还是应该以某种方式模拟它? 问题答案: 在每次测试之前重设resetModules,然后在测试内部动态导入模块很重要: 如果您在运行Jest之前寻找一种加载env值的方法,请
null
我使用的数据表版本如下: 以及以下版本的编辑器、按钮和选择: 这是我的js文件,它调用我的API并读取数据和编辑器: var编辑器;//在示例中使用全局提交和返回数据渲染 } ); 这是我的HTML: 这是我的JSON文件(已缩短)