如何对使用Jquery的Angular 6组件进行单元测试

时间:2018-08-09 00:59:08

标签: jquery angular typescript karma-jasmine angular6

resolve: {
                awesomeDefaults: /** ngInject */ () => new Controllers.AwesomeDefaults(1, 2, 3)
            }
  

无法读取未定义的属性“扩展”

在我的Angular 6应用程序中的某些时候,当我执行ng test时,这些代码行将在我的组件中执行。我找不到如何使测试框架知道可以在哪里找到库的方法。我正在使用Karma和Jasmine。

我已经阅读了angular.io文档,尝试了打字,尝试通过angular.json文件引用了jquery,试图使用karma-jasmine-jquery库修改了karma.conf.js文件,还尝试了@ types / jquery 。我还考虑摆脱克隆对象的这种方式,但是由于这对我敢问的其他情况下的其他人可能会有所帮助。

我正在使用安装在node_modules中的jquery 3.3.1。

1 个答案:

答案 0 :(得分:0)

我按照cgTag提到的帖子中的说明进行了操作,但对我没有太大帮助,要替换的技巧是什么

import $ from "jquery";

var $ = require('jquery');

我希望它可以帮助其他人。不要忘记仍然Import jquery to karma configuration