[英]Using Sinon with Typescript and interfaces
說我有這樣一個類:
export class User implements Employee {
lanId: string;
firstName: string;
lastName: string;
}
和這樣的界面:
export interface Employee {
firstName: string;
lastName: string;
}
然后,我想使用Sinon來制作假用戶:
user = sinon.createStubInstance(User);
這給出了這樣的錯誤:
無法將類型'SinonStub'轉換為'Employee'類型。 類型'Employee'具有非可選屬性'firstName',它不存在於'SinonStub'類型上。
這似乎是打字稿及興農不高興起來。
有沒有辦法創建一個實現Typescript接口的類的SinonStub?
user
對象是否標記為“Employee”類型? 如果是這樣,這個錯誤是有道理的。
sinon.createStubInstance(User)將返回一個符合SinonStub接口的對象,編譯器警告該對象不符合Employee接口。
如果你沒有注釋user
打字稿的類型向前推進,假設它是一個SinonStub,你就不會遇到這個問題。 如果您實際上沒有注釋它,則變量可能通過其他地方的使用隱式地獲取注釋。
如果這聽起來不合適,那么你想要完成的事情是不是在問題中?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.