我最近遇到了以下问题,我将 ckeditor5 库更新到最新版本,现在尝试使用 Jest 运行测试时出现错误
console.error Error: Could not parse CSS stylesheet at exports.createStylesheet (***\node_modules\jsdom\lib\jsdom\living\helpers\stylesheets.js:34:21) at HTMLStyleElementImpl._updateAStyleBlock (***\node_modules\jsdom\lib\jsdom\living\nodes\HTMLStyleElement-impl.js:68:5) at HTMLStyleElementImpl._childTextContentChangeSteps (***\node_modules\jsdom\lib\jsdom\living\nodes\HTMLStyleElement-impl.js:36:12) at HTMLStyleElementImpl._insert (***\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:822:14) at HTMLStyleElementImpl._preInsert (***\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:756:10) at HTMLStyleElementImpl.insertBefore (***\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:593:17) at HTMLStyleElement.insertBefore (***\node_modules\jsdom\lib\jsdom\living\generated\Node.js:384:60) at insertBefore (***\ckeditor-custom\build\ckeditor.js:6:432142) at o (***\ckeditor-custom\build\ckeditor.js:6:432835) at f (***\ckeditor-custom\build\ckeditor.js:6:431391) { detail: '.ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-panel:calc(var(--ck-z-default) + 999);--ck-z-dialog:9999}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-ho
我不确定问题出在哪个库
这是我的 Jest 配置:
module.exports = {
roots: ['<rootDir>/src'],
collectCoverageFrom: [
'<rootDir>/src/**/*.{ts,tsx}',
'!**/*.d.ts'
],
coverageReporters: ['json-summary', 'text', 'lcov', 'clover'],
coverageDirectory: 'coverage',
testEnvironment: 'jsdom',
transform: {
'.+\\.(ts|tsx)$': 'ts-jest'
},
moduleNameMapper: {
'@/(.*)': '<rootDir>/src/$1',
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/src',
'\\.(css|less|scss)$': 'identity-obj-proxy',
},
setupFilesAfterEnv: ['<rootDir>/jest-setup.ts']
}
我注意到另一种对我来说似乎很奇怪的行为。如果我运行与文本编辑器无关的特定测试,它也会失败。 Jest 是否应该查看非测试本身的其他文件?
我一直在尝试更新我的依赖项,但没有成功。
我也一样
使用
--silent
标志进行临时修复
示例: “测试”:“开玩笑--silent--maxWorkers = 50%”,