首页 > 解决方案 > 使用 Jest 在命名空间中测试 Typescript 类

问题描述

我在命名空间中有以下方法:

// main.ts
namespace testControl {

    export const isInternalLink = (link: string) => {
        return true;
    }
}

并遵循笑话规范:

// main.spec.ts

test('should return false given external link', () => {

 // How to use testControl.isInternalLink here ?

});

尝试添加

/// <reference path="./main.ts"/> 

尝试将测试包装在同一个命名空间中

标签: typescriptjestjs

解决方案


尝试导出命名空间本身:

// main.ts
export namespace testControl {

    export const isInternalLink = (link: string) => {
        return true;
    }
}

然后在您的规范中导入命名空间:

// main.spec.ts
import { testControl } from './main'

test('should return false given external link', () => {

  // How to use testControl.isInternalLink here ?
  expect(testControl.isExternalLink('')).toBe(false)
});

推荐阅读