基本配置网上都有,这里就不赘述了。说说踩过的坑。目前jest只能用26+的版本,不能用最新的27+。一开始我直接使用npminstalljest--save-dev安装,各种配置配置好后,报莫名其妙的错误Cannotdestructionproperty'config'of'undefined'。查看源码,发现是vue-jest中getCacheKey的第四个参数解构报错失败,再查找发现jest在调用vue-jest的getCacheKey方法时只传了3个参数。由此判断jest版本有问题。看了下element-plus的配置,发现用的是jest26版本,恍然大悟,立马换成26版本运行,发现还是报错,不过又是一个错误。研究了一下,应该是jest配套包的版本问题,于是全部换成26+运行,成功。下面是我运行成功的package.json中jest相关的包配置:"@types/jest":"^26.0.23","babel-jest":"^26.3.0","jest":"^26.6.3","ts-jest":"^26.0.0",运行成功后,我写的一个对话框组件测试用例执行失败,错误:CannotcalltextonanemptyDOMWrapper,具体代码:constTESTSTR='无处不在的风险无处不在的风险无处不在';describe('Dialogvue',()=>{test('当给出内容时对话框应该有内容',async()=>{constwrapper=mount(Dialog,{props:{content:TESTSTR,modelValue:true}});awaitnextTick();expect(wrapper.find('.modal-body').text()).toEqual(TESTSTR);});});其他组件测试没有报错,但是这个dialog组件报错了。想了想终于找到了原因:
