0

我想用 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");
4

1 回答 1

0

经过一些试验和错误,我得到了它的工作。以下是我所做的编辑:

myApp.test.js(测试文件)

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

我在这篇文章中看到了。

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

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

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

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

于 2021-09-29T16:01:00.470 回答