不幸的是,我们的web项目还没有使用ES6模块。相反,我们将我们的TypeScript源代码进行传输,然后将它们连接在一起。使用不带ES6模块的笑话
这适用于浏览器以及Karma和WallabyJS(通过在其配置文件中设置files
选项)。
由于我们的1500个测试需要很长时间来执行,我想检查Jest。但是,我们的测试失败,因为jest无法找到我们正在导入的类型。
例如,我们有一个类名为StringUtils
和以下代码:
import StringUtils = common.utils.StringUtils;
class Person {
private _name: string;
address(): string {
return StringUtils.buildAddress(this);
}
}
我们失败:
ReferenceError: common is not defined
有没有办法告诉开玩笑哪些文件来加载(以什么顺序),然后再运行测试,就像我们对Karma和WallabyJS一样?
我试过了,它并没有真正起作用,例如,需要jQuery的模块并不真正“知道”它被加载,我们的模块可以' t找到其他模块 似乎文件加载为setupFiles没有'window'作为它们的全局对象,所以它们不是正确更新它,其他模块不能正确使用它们。 – splintor