我正在用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 }
我的考试出了什么问题?如何模拟导入以断言导出?
答案 0 :(得分:1)
您已经间接断言在执行操作时主要导出ISupervisor
接口:
import { ISupervisor as exportedISupervisor } from '../lib/index'
如果接口不在文件中,则打字稿编译器将在该行失败。
玩笑不是正确的工具。 Jest本身不知道任何打字稿类型和接口。