我对开玩笑有问题如果我自己运行一个测试案例,我就会得到一个资产所有权的价值。示例:
<div role="button" aria-haspopup="listbox" aria-expanded="false" aria-owns="list-8" class="v-input__slot">我使用网络风暴,所以我只是直接更新快照。但是当我用npm运行所有测试用例时,运行测试。测试用例接收了这个HTML,而不是:
<div role="button" aria-haspopup="listbox" aria-expanded="false" aria-owns="list-27" class="v-input__slot">正如你所看到的,咏叹调的id已经改变了。我不知道怎么解决这个问题。我尝试了几种用于jest的清除方法和重置方法,例如: jest.clearAllMocks()和jest.resetModules()等等,但是没有任何效果。
请帮帮忙。
发布于 2022-09-12 12:02:45
Vuetify 2使用的是this._uid,它是vue的内部,不能重置。它对于每个组件实例都是递增的,这就是为什么在运行不同数量的测试时得到不同的值的原因。
Vuetify 3有一个自定义的getUid函数,该函数也会增加,但可以在每次测试之前导入和重置:
import { getUid } from 'vuetify/lib/util'
beforeEach(() => {
getUid.reset()
})https://stackoverflow.com/questions/73686430
复制相似问题