Hur man enhetstestar en Angular 6-komponent som använder Jquery
import $ from "jquery";
let newobject = $.extend(true, {}, object);
Kan inte läsa egenskapen 'extend' av undefined
Vid en viss punkt i min Angular 6-applikation körs de där kodraderna i min komponent när jag kör ng test. Jag kunde inte hitta hur jag får testningsramverket att veta var det kan hitta biblioteket. Jag använder Karma och Jasmine.
Jag har läst angular.io-dokumentationen, provat typings, försökt referera till jquery genom angular.json-filen, försökt använda biblioteket karma-jasmine-jquery genom att modifiera karma.conf.js-filen, och har också provat @types/jquery. Jag övervägde också att bli av med det sättet att klona ett objekt, men eftersom detta kan vara användbart för någon annan i en annan situation vågade jag fråga.
Jag använder jquery 3.3.1 installerad i node_modules.
Svar #1
Jag följde instruktionerna från inlägget som cgTag nämnde men det hjälpte mig inte riktigt, det som fungerade var att ersätta
import $ from "jquery";
för
var $ = require('jquery');
Jag hoppas att det hjälper någon annan. Glöm inte att fortfarande importera jquery till karma-konfigurationen
