【发布时间】:2019-11-16 00:38:55
【问题描述】:
我正在从外部库导入一个类实例并直接在类成员中使用,如下所示:
import { MyClient } from '@foo/bar';
export class DoStuff {
public getStuff = () => {
return MyClient.fetchThings();
}
}
我从中导入这个类的库,像这样导出这个类:
// my-client.ts
class MyClient {
//stuff
async fetchThings() {
}
}
export const myClient = new MyClient();
-----
// index.ts
export {
myClient as MyClient,
} from './my-client';
我希望能够在消费应用程序的 DoStuff 类中存根导入的 MyClient 类实例,但我不确定如何执行。
我曾考虑使用ts-mock-imports,但他们的示例似乎涵盖了您希望在您正在测试的类中新建一个导入类的情况。
在我的例子中,导入的类已经是一个实例。
这里的正确方法是什么?
【问题讨论】:
-
有几种方法,最简单的方法是删除导入并在您的 .spec.ts 文件中创建
class MyClient类 -
谢谢,我已经更新了我的问题,因为这是使用从 Angular 外部导入的类,所以我认为我的用例有些不同
标签: angular typescript jasmine