【问题标题】:Testing typescript modules without exports在没有导出的情况下测试打字稿模块
【发布时间】:2017-12-02 00:47:30
【问题描述】:

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

class SomeClass {
    ...
}

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

请注意顶级模块/类中缺少“export”关键字。

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

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

我无权访问 SomeService.ts 文件中定义的类或模块。如果在模块和类之前添加“export”关键字,我可以通过从 require 返回的对象访问它们,但这会破坏整个环境和其他文件,因为在此之后,模块和类不存在于生成的 outFile通过打字稿。

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

【问题讨论】:

  • 我面临同样的问题(几乎正好是 2 年后)。您找到解决方法了吗?
  • 不幸的是我不再从事这个项目,我想我还没有找到解决方案:P

标签: unit-testing typescript jestjs


【解决方案1】:

如果您有一个未导出的函数,则导出的其他函数正在调用该未导出的函数。测试导出的方法,您将间接测试未导出的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2020-08-09
    • 1970-01-01
    • 2021-12-24
    相关资源
    最近更新 更多