javascript - 如何在本地环境中模拟 Javascript 中未知的库?

标签 javascript mocking

我正在使用 Javascript 为具有可以使用的特定 Javascript 库的设备开发一个网站。该 Javascript 库在设备上已知,但在本地未知。 F.e.我执行library.function()。为此,在本地我收到错误:库未定义

有没有办法在本地避免此错误,以便我可以测试这些部分而不将其注释掉?模拟本地未知的库。

最佳答案

这是一个全局范围的库吗?如果是,您可以替换它并模拟该行为:

var MockLib = {
   someFunction: () => console.log("someFunction called"),
   someOtherFunc: (args) => console.log("someOtherFunc called", args),
   someProp: "value-123",
};

window.library = window.library || MockLib;

然后,执行 library.someFunction() 将在库上执行该函数(如果已定义)或您的模拟(如果未定义)。

只需确保将 window.library 赋值放在应该加载库之后。

关于javascript - 如何在本地环境中模拟 Javascript 中未知的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60257861/

相关文章:

ruby - 模仿另一个 Ruby 类,使对象通过 === 类型检查

javascript - 如何使 InkScape SVG 文件填充浏览器窗口并具有交互性?

javascript - 使用 jQuery 比较两个 Javascript 对象数组

javascript - 如何在 Google Maps API 中仅对单个标记进行动画处理

javascript - 无法让 Backbone 关系与 AMD 一起使用 (RequireJS)

ruby-on-rails - Rspec 模拟:ActiveRecord::AssociationTypeMismatch

c# - c#中类参数的模拟类

.net - 用于单元测试的单个实现者接口(interface)是反模式吗?

c++ - 除了模拟测试之外,无需额外使用接口(interface)即可编码到接口(interface)?

javascript - 点击重播 GIF 动画/重新加载 GIF