簡體   English   中英

使用Sinon與Typescript和接口

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM