使用Jest作为打字稿中的方法

时间:2020-02-19 15:05:05

标签: javascript typescript jestjs

我是第一次开玩笑。 所以我想测试这个方法:

public static getProjectBranch(toto: any): string {
    if ("branch" in toto) {
        return toto.branch;
    } else {
        return "master";
    }
}

此方法在totoService.ts类中

我在totoService.spec.ts中正在做什么:

describe("Test get Project Branch", () => {
test("branch is in component", () => expect(getProjectBranch()).toBe(""));
});

我想知道我在做什么是好还是没有 以及如何将getProjectBranch方法导入文件?

1 个答案:

答案 0 :(得分:1)

由于方法getProjectBranch是静态的,因此您可以像下面这样简单地进行操作:

describe("TotoService",() => {
  describe('getProjectBranch', () => {
    test("branch is in component",() => {
      const toto = {branch:''}; //create your test object here
      expect(totoService.getProjectBranch(toto)).toEqual(''); //call static method of TotoService
    })
  })
})

如果您要调用非静态方法,则需要创建totoService beforeEach测试的实例:

describe("TotoService",() => {

  let totoService;

  beforeEach(() => {
    totoService = new TotoService();
  })

  describe('getProjectBranch', () => {
    test("branch is in component",() => {
      const toto = {branch:''};
      expect(totoService.getProjectBranch(toto)).toEqual('');
    })
  })
})
相关问题