Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对typescript中的方法使用Jest_Javascript_Typescript_Jestjs - Fatal编程技术网

Javascript 对typescript中的方法使用Jest

Javascript 对typescript中的方法使用Jest,javascript,typescript,jestjs,Javascript,Typescript,Jestjs,我第一次用玩笑。 所以我想测试一下这个方法: public static getProjectBranch(toto: any): string { if ("branch" in toto) { return toto.branch; } else { return "master"; } } 此方法位于ToToToService.ts类中 我在totoService.spec.ts中所做的工作: describe("Test get

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

public static getProjectBranch(toto: any): string {
    if ("branch" in toto) {
        return toto.branch;
    } else {
        return "master";
    }
}
此方法位于ToToToService.ts类中

我在totoService.spec.ts中所做的工作:

describe("Test get Project Branch", () => {
test("branch is in component", () => expect(getProjectBranch()).toBe(""));
});
我想知道我所做的是好是坏
如何在文件中导入方法getProjectBranch?

由于您的方法
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
的实例:

describe("TotoService",() => {

  let totoService;

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

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