iT邦幫忙

0

jest puppeteer 使用

  • 分享至 

  • xImage

大家好
我使用jest-environment-puppeteer測試google-extension
我的package.json :

"jest": {
        "globalSetup": "jest-environment-puppeteer/setup",
        "globalTeardown": "jest-environment-puppeteer/teardown",
        "testEnvironment": "jest-environment-puppeteer"
    },

但import的外部檔案裡有使用到document
遇到ReferenceError: document is not defined
試過把testEnvironment改成jsdom,但這樣會找不到puppteer的page,變成二選一
請問各位有方法可以讓testEnvironment設定成jest-environment-puppeteer和jsdom共用嗎
或是有其他的解決方法
謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-07-20 11:20:25

試試看

But I think I find a workaround, that is to make jest-environment-puppeteer the default test ENV and meanwhile add a doc block to JSDOM-based test suites like

/**
  * @jest-environment jsdom
*/

This will get different test suites correctly set-up.

資料來源

另外
這篇的說法來看
使用 Puppeteer 的人數比 jsdom 要來得多
如果不是維護既有的程式
建議只採用 Puppeteer 就好

至於 jsdom 的 document 在 Puppeteer 的取代寫法
可以參考這篇

junis iT邦新手 5 級 ‧ 2022-07-20 13:37:31 檢舉

謝謝你

我要發表回答

立即登入回答