jest测试项目中遇到的报错解决方案

1.报错:window is not defined
解决方法:引入jsdom,在jest.config.js中添加:

 testEnvironment: “jsdom”,

2.直接将css(scss,sass)文件导入组件导致的测试程序执行失败
解决方法:
安装jest-css-modules: npm install jest-css-modules --save-dev
在jest配置文件中添加:

"jest": {
   "modulesNameMapper": {
       "\\.(css)$": "<rootDir>/node_modules/jest-css-modules"
     }
}

这会告知jest使用jest-css-modules模块替换任何导入文件后缀为.css的文件。
更简单的解决方法:导入的css文件时加个.css后缀
3.安装jest-enzyme后测试程序仍然执行失败
解决方法:
在jest.config.js中添加:

setupFilesAfterEnv: ['./node_modules/jest-enzyme/lib/index.js']

4.导入lottie-web, jest测试报错: Cannot set property ‘fillStyle’ of null

解决方法:install jest-canvas-mock

"setupFiles": [
            "<rootDir>/tests/setupJest.ts",
            "jest-canvas-mock"
        ],

others:
jest 会在所有真正的测试开始之前执行测试文件里所有的 describe 处理程序.
Jest 会按照 test 出现的顺序依次运行所有测试
app.prop(‘属性’)
app.instance.func()
//可以像props一样直接传方法和数据
simulate,触发时会自动传递e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值