当前位置: 首页 > Web前端 > JavaScript

Jest如何暴露复杂判断条件下的具体问题?

时间:2023-03-26 20:44:10 JavaScript

在写测试的时候,如果需要比较大量的数据,你很可能不会列出所有需要比较的对象,而是选择直接循环。如果测试中有循环处理,可能会出现一个问题,就是当测试失败时,你可能无法快速定位到循环中的具体元素。这时候定位会比较麻烦。更好的办法是在Jest中加入try/catch来处理错误,这样当错误发生时,可以打印一些辅助信息来快速定位,比如it('test-error-catch-example',()=>{letneedTestData=[1,2,3,4]needTestData.foreach(item=>{letresult=doSomething(item)//这是一个新的try{expect(result).toBe(true)}catch(e){console.log("errorkey",item)throwe;}//新添加的错误处理结束})})通过添加自定义trycatch,当出现问题时,一方面抛出Error以通常的方式等待Jest处理它;另一方面可以在catch的时候输出自定义的信息,方便我们排查和修复。