使用构造函数注入测试类

时间:2018-12-18 15:50:04

标签: typescript jestjs constructor-injection inversifyjs

我有一个使用inversify的构造函数注入来注入多个对象的类。

//file Doctor.ts
import { inject } from 'inversify';

export class Doctor {
  private stetho: Stetho;
  private syringe: Syringe;

  constructor(
    @inject(Stetho) stetho: Stetho,
    @inject(Syringe) syringe: Syringe
  ) {
    this.stetho = stetho;
    this.syringe = syringe;
  }

  getName() {
    return "doctor";
  }
}

我正在使用jest通过以下方式对此进行测试。

//file test.ts
import { Doctor } from './Doctor';

describe("sample test", () => {
  test("test name", () => {
    const doctor = new Doctor();

    expect(doctor.getName()).toBe("doctor");
  });
});

测试运行良好,但是带有new Doctor()的行引发了ts lint错误,指出该Expected two arguments but received 0

有没有一种方法可以避免不使用@ts-ignore或不使用属性注入?

0 个答案:

没有答案