2020年06月02日

TypeScriptでmockReturnValueの値に必要最低限の値を設定する

mockReturnValueでmockの値を指定しようとするとTypeScriptで全部の値を指定しろと言われてしまう。


// import元
export const useFoo = () => {
const foo1 = () => 1
const foo2 = () => 1
return {
foo1,
foo2
}
}


// test code
import * as useFooHooks from "./useFoo"

test("test",()=>{
const useFooSpy = jest.spyOn(useFooHooks, 'useFoo')
useFooSpy.mockReturnValue({
foo1:jest.fn()
})
})


テストで必要な値のみを指定したい場合は jest.Mockにキャストしてから値を指定しよう

test("test",()=>{
const useFooSpy = jest.spyOn(useFooHooks, 'useFoo') as jest.Mock
useFooSpy.mockReturnValue({
foo1:jest.fn()
})
})


posted by ねこまんま at 00:51 | test | 更新情報をチェックする