เมื่อทดสอบโมดูลที่มีการอ้างอิงในไฟล์อื่น เมื่อกำหนดโมดูลนั้นให้เป็นjest.Mock
typescript จะทำให้เกิดข้อผิดพลาดที่เมธอดmockReturnThisOnce
(หรือเมธอด jest.Mock อื่น ๆ ) ไม่มีอยู่ในการอ้างอิงนั่นเป็นเพราะมันถูกพิมพ์ไว้ก่อนหน้านี้ วิธีที่เหมาะสมในการรับ typescript เพื่อสืบทอดประเภทจาก jest.Mock คืออะไร?
นี่คือตัวอย่างสั้น ๆ
การพึ่งพา
const myDep = (name: string) => name;
export default myDep;
test.ts
import * as dep from '../depenendency';
jest.mock('../dependency');
it('should do what I need', () => {
//this throws ts error
// Property mockReturnValueOnce does not exist on type (name: string)....
dep.default.mockReturnValueOnce('return')
}
ฉันรู้สึกว่านี่เป็นกรณีการใช้งานที่พบบ่อยมากและไม่แน่ใจว่าจะพิมพ์สิ่งนี้ได้อย่างไร ความช่วยเหลือใด ๆ จะได้รับการชื่นชมมาก!