测试没有导出的typescript模块

时间:2017-06-28 14:59:05

标签: unit-testing typescript jest

我正在处理遗留环境,我有包含模块或/和类的Typescript文件

class SomeClass {
    ...
}

module AndAModule {
    export namespace NestedNamespace {
        ...
    }
}

注意缺少" export"顶级模块/类中的关键字。

我想在" NestedNamespace"中测试函数。使用Jest库。但是,当我在测试文件中导入Typescript文件时:

var service = require("/path/to/file/SomeService.ts")

我既没有访问SomeService.ts文件中定义的类也没有访问模块。如果添加"导出"在模块和类I之前的关键字能够通过从require返回的对象访问它们,但是这会破坏整个环境和其他文件,因为在此之后,模块和类不存在于typescript生成的outFile中。

如何在不添加任何导出语句的情况下从文件导入所需的模块?

1 个答案:

答案 0 :(得分:0)

如果你有一个没有被导出的函数,那么导出的其他函数就是调用那个未导出的函数。测试导出的方法,您将间接测试未导出的方法。