使用Jest模拟“导入*”

时间:2020-06-12 18:01:11

标签: jestjs ts-jest

我有一个TypeScript源文件,该文件具有以下导入:

// myCode.ts
import * as x from 'dep';
... 
export class myClass {
   ...
}

其中dep是npm安装中包含的Node软件包。 myCode.ts是一个只有三个方法的简单类。我想从Jest测试脚本中模拟整个myClass,编写该脚本是为了测试另一个类myMainClass

我遇到的问题是dep代码正在运行一些似乎无法绕过的初始化。初始化代码在“真实”环境之外失败,因此我只是想绕开它进行测试。无论我尝试什么,都会收到看起来像这样的错误:

  Test suite failed to run

    Dynamic Linking Error: ... error text ...

      5 | // myCode.js
    > 6 | import * as x from 'dep';
        | ^

同样,由于我在本地没有这些库(也不希望将它们用于单元测试),因此会出现错误。

我希望我可以添加一个简单的模拟语句(例如jest.mock('myClass')或类似的东西),该语句将绕过与myClass有关的事情。这样,导致链接错误的代码不会被执行。

我刚开始使用Jest。希望这是一个简单的问题,而我只是想清楚了。感谢您的帮助。

0 个答案:

没有答案