断言使用Jest导出导入的打字稿

时间:2018-12-22 17:47:42

标签: typescript jestjs

我正在用Typescript编写一个小型库来进行TDD。我发现它很复杂,无法断言我的主文件正在导出某些接口。 下一个测试无法编译,错误为'X' only refers to a type, but is being used as a value here

jest.mock('../lib/supervisor', () => jest.fn())
import ISupervisor from '../lib/supervisor'

import { ISupervisor as exportedISupervisor } from '../lib/index'

describe('index', () => {
  it('should export supervisor', () => {
    expect(exportedISupervisor).toBe(ISupervisor)
  })
})

目的是断言main具有类似以下内容:

import ISupervisor from './supervisor'
export { ISupervisor }

我的考试出了什么问题?如何模拟导入以断言导出?

1 个答案:

答案 0 :(得分:1)

您已经间接断言在执行操作时主要导出ISupervisor接口:

import { ISupervisor as exportedISupervisor } from '../lib/index'

如果接口不在文件中,则打字稿编译器将在该行失败。

玩笑不是正确的工具。 Jest本身不知道任何打字稿类型和接口。