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