动态加载的 js 在单元测试时未定义(业力、茉莉花)

Dynamically loaded js is undefined while unit testing (karma, jasmine)

动态加载的 js 在单元测试时未定义(karma、jasmine) 我正在开发一个 angular js 应用程序并且 我有动态加载的 js 库(附加到执行某些操作)。它们以这种方式加载,因为 system.js 无法加载它们。 例如 dtjava.js 用于通过 jnlp 启动签名的 jar。动态加载js的例子。

let script = document.createElement('script');
script.src = 'https://java.com/js/dtjava.js';
document.head.appendChild(script);

然后我使用dtjava

dtjava.launch({url: 'someTool.jnlp', params:{param1: "852237"}}, {javafx: '8.0+'}, {};

这非常有效,但我无法模拟 dtjava,因为它未定义。 那么,是否可以模拟动态加载的js?

如果您还没有找到模拟 dtjava 的解决方案,您可以将代码包装到一个新函数中并模拟该函数来解决问题。