有什么方法可以同时使用Jest和Jest -dom而无需翻译吗?



我想用Jest编写一个单元测试,用Jest - DOM作为模拟DOM——不需要编译。我希望我所要做的就是用CommonJS导入导入jest-dom包。但是当我这样做时,然后运行我的测试(使用npm test),它仍然失败:

ReferenceError: document is not defined(此处为全输出)

有什么办法解决这个问题吗?我的测试文件如下:

谢谢。


我的代码

myApp.test.js

require("@testing-library/jest-dom");
document.createElement("div");

经过一些尝试和错误,我使它工作。以下是我所做的编辑:

myApp.test.js(test file)

require("@testing-library/jest-dom/extend-expect");

我在这篇文章里看到过。

package.json添加以下内容到顶层:

"jest": {
"testEnvironment": "jest-environment-jsdom"
},

我这样做了,因为这个文档页面说我应该编辑我的Jest testEnvironment到jest-environment-jsdom。我不知道为什么这个字符串被用作值,而不是包的名称(test-dom)。但这对我来说是有效的。

这个文档页面展示了如何编辑我的Jest testEnvironment。

相关内容

  • 没有找到相关文章

最新更新