Example.ts
export class Example{
public async initService(Id): Promise<any> {
//promise logic
}
}
Example.spec.ts
//imported Example class correctly
describe('testing', async () =>{
it('InitService test call', async ()=>{
let x = await Example.initService(id:any) //this line displays error as initService does not exist on type 'typeof AnnounceService'
});
});
我已正确导入类示例,但无法在 Example.spec.ts 中调用示例类的功能。
答案 0 :(得分:0)
这是一个非常简单的错误。 您在类函数本身上调用方法,而不是在类的实例类型的对象上调用。
如果您打算在没有实例的情况下调用该方法,就像您和示例代码一样,那么您需要将其标记为静态:
export class Example {
static async initService(Id) {}
}
另一方面,如果你实际上意味着它是一个实例方法,你需要创建一个实例来调用该方法:
export class Example {
async initService(Id) {}
}
describe('testing', async () => {
it('InitService test call', async () => {
const x = await new Example().initService(1);
});
});
最后,值得注意的是错误文本id是以它的方式表达的,因为类函数本身的类型被写为typeof ClassFunction
,而其实例的类型是写成'ClassFunction