【发布时间】:2021-06-19 21:40:32
【问题描述】:
我不知道如何改变这个,我开始使用 jest,所以我需要帮助。我希望得到一些关于使用 jest 的提示或给我一些很好的例子
1、我的钩子
import {ref} from 'vue-demi'
const useLatest = <T>(num: T):{readonly current: T} => {
const refLatest = ref(num)
refLatest.current = num.value
return refLatest
}
export {useLatest}
2、我的测试
import {useLatest} from '../src'
import {ref} from 'vue-demi'
const count = ref<number>(0)
describe('test useLatest', () => {
const current1 = useLatest(count)
test('test current value', async () => {
expect(current1).toBe(0)
})
})
3、我的错误
● test useLatest › encountered a declaration exception
TypeError: Cannot add property current, object is not extensible
2 | const useLatest = <T>(num: T):{readonly current: T} => {
3 | const refLatest = ref(num)
> 4 | refLatest.current = num.value
| ^
5 | return refLatest
6 | }
7 | export {useLatest}
【问题讨论】:
-
专门针对 Jest 的提示是将
current1 = useLatest(count)移动到测试或beforeEach。您不想在测试之间重复使用相同的对象。
标签: typescript vue.js jestjs vuejs3