如何将 lib 包含到业力测试中?

How to include lib to karma tests?

我正在尝试在测试中使用外部库。我在 karma.conf.js 中添加了所有需要的链接,并且包含了一些库,没有任何问题。但是对于某些库,karma 在编译时设置了“undefined”而不是“this”,就像这样:

当然,我因此而出错:

我做错了什么?是否可以包含这样的库?

在 JavaScript 模块中,this is undefined at the top level(即外部函数)。因此,Rollup 会将任何 this 引用重写为 undefined,以便生成的行为与原生支持模块时发生的行为相匹配。

要解决它,您可以使用 options.context 和 options.moduleContext 来更改此行为。像这样:context: 'window'