如何配置Vitest实现首次测试失败后快速终止运行?
如何配置Vitest实现首次测试失败后快速终止运行?
嘿,这个需求太实用了!在git bisect场景下确实没必要等所有测试跑完,第一个错误出现就终止能省不少时间。Vitest其实已经内置了这个功能,给你两种实现方式:
方法一:使用命令行参数直接控制
直接在运行Vitest的时候加上--bail 1参数就行,它的作用就是让测试在第一次失败后立即终止。比如:
vitest --bail 1
如果是配合git bisect使用,直接把命令写进去就好:
git bisect run vitest --bail 1
这里的1表示允许失败的次数,设为1就是首次失败就停;如果设为0的话就是默认行为——不管失败多少次都会跑完所有测试。
方法二:在配置文件中全局设置
如果你不想每次都加命令行参数,可以在Vitest的配置文件(比如vitest.config.js或者vite.config.js)里配置bail选项,让这个规则全局生效:
export default { test: { bail: 1, // 开启首次失败快速终止 }, };
配置好之后,不管你直接运行vitest还是在git bisect里调用,都会自动遵循这个规则。
另外提个小细节:如果你的Vitest版本比较旧(比如v0.20之前),可能需要确认一下--bail参数是否支持,不过现在主流版本都已经兼容这个功能啦。
备注:内容来源于stack exchange,提问作者Cornelius Roemer
相关产品推荐
相关产品推荐

