我正在測驗一個用 TypeScript 撰寫的函式。為了避免每次都編譯我的專案,我使用ts-jest.
但是,有一個警告,我不確定是否有解決方法。我已經檢查了ts-jest選項,但運氣不佳。該函式只允許輸入一個字串。
function tsFunc(arg:string){
if (typeof(arg)!=='string'){
throw new TypeError('....')
}
}
但我無法測驗它,因為 usingtsFunc(5)不會在測驗檔案中編譯。
你如何測驗這個?
uj5u.com熱心網友回復:
如果您特別想測驗違反函式型別協定的引數,那么您需要將該引數any強制轉換為基本上告訴 Typescript 禁用對該變數的型別檢查。
expect(() => {
tsFunc(123 as any);
}).toThrow();
或者您可以添加// @ts-expect-error評論。
expect(() => {
// @ts-expect-error testing wrong argument type
tsFunc(123);
}).toThrow();
使用哪個取決于您。但不知何故,你需要告訴 Typescript 你故意做錯了什么。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445930.html
標籤:打字稿
上一篇:以物件為鍵的介面或型別在打字稿中
