我正在使用Node.js和Typescript进行tdd项目。我有一个名为HttpSample
的类,它被导入到另一个名为Sample
的类中,如下所示。
import {HttpSample} from "./httpService"
...
const http: HttpSample = new HttpSample();
http.get();
如何模拟HttpSample
测试文件中的Sample
类?
更新
我正在使用Jasmine
和mocha
框架
答案 0 :(得分:1)
ts-mock-imports是一个库,旨在在保持类型安全的同时修复Typescript中的此问题。它建立在sinon之上而不是Jasmine之上,但是两者都可以很好地发挥作用。
在sample.spec.ts
import * as httpSample from './httpService';
import { ImportMock } from 'ts-mock-imports';
import { Sample } from './sample';
const httpMock = ImportMock.mockClass(httpSample, 'HttpSample');
// Sample will now get a mock version of HttpSample
const sample = new Sample();