vue test:unit 的 window not defined

在 vue cli 3 create 專案的時候,可以選擇要不要用 unit test,選擇“要“之後可以避免掉很多設定,也會多一個 /tests 資料夾,有全自動的感覺。

但我碰到以下問題
window undefined
解法
jest config (看控制檔案寫在哪邊,我是寫在 package.json)
設定
"jest": {
"setupFiles": ["./tests/unit/setup.js"],
然後在 unit 底下新增 setup.js 
內容為
window.alert = (msg) => { console.log(msg); };
window.matchMedia = () => ({});
window.scrollTo = () => { };
記得還要在 .eslintrc.js 中加入
env: {
    // solve window is not defined
"browser": true,
"node": true,
"jest": true,
},

參考
unit-test 教學可以參考這篇


留言