jquery - 如何对使用 Jquery 的 Angular 6 组件进行单元测试
问题描述
import $ from "jquery";
let newobject = $.extend(true, {}, object);
无法读取未定义的属性“扩展”
在我的 Angular 6 应用程序中,当我执行 ng test 时,这些代码行会在我的组件中执行。我找不到如何让测试框架知道它在哪里可以找到库。我正在使用业力和茉莉花。
我已经阅读了 angular.io 文档,尝试了打字,尝试通过 angular.json 文件引用 jquery,尝试使用 karma-jasmine-jquery 库修改 karma.conf.js 文件,还尝试了 @types/jquery。我也考虑过摆脱这种克隆对象的方式,但因为这在其他情况下可能对其他人有帮助,所以我敢问。
我正在使用安装在 node_modules 中的 jquery 3.3.1。
解决方案
我按照 cgTag 提到的帖子中的说明进行操作,但对我并没有太大帮助,诀窍是替换
import $ from "jquery";
为了
var $ = require('jquery');
我希望它可以帮助别人。不要忘记仍然Import jquery to karma 配置
推荐阅读
- apache-spark-sql - Spark SQL from_json 文档
- c# - 如何在 XtraInputBox 中仅接受数值以及如何检查单击了哪个按钮?
- webusb - Google Chrome WebUSB API requestDevices() 看不到条形码扫描仪 Voyager 1450g
- c++ - 结构异常的 C++ 清除向量
- swift - 如何在swift中逐步更改UILabel文本
- python - 提取 2 个字符串之间的字符串,如果未找到第 2 个字符串,则提取到末尾
- byobu - 保存 byobu-ctrl -a 状态
- r - Stan多项式回归参数估计模型回顾
- javascript - 使用javascript循环使用分号和逗号的文本
- speech-recognition - C# 发送 NAudio WaveOut 到 Bing 语音识别平台