我正在尝试为js函数编写单元测试用例,它在.js文件中将其加载到test.js文件中,然后运行
npm测试test.js
我的测试脚本包含
const app = require('../js/customJs/myjs.js');
var assert = require('chai').assert;
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
describe('Testing my test functions', function () {
console.log("ready 2 test d dom");
const dom = new JSDOM('<!DOCTYPE html><p id="myid"></div>');
it('check the return value of helloworld module', function () {
assert.equal(dashboard_tab.helloworld(),"hello");
});
});
'myjs.js'文件具有helloworld函数,该函数从dom元素获取值并调用ajax调用, 因此,我试图对返回值是否为“ hello”进行单元测试(“此测试当然会失败,因为该函数不会返回hello”),但是在运行此测试脚本时,我遇到了类似“ $未定义”的错误'
myjs.js
var count = 0;
function helloworld(){
var id_Val = $("#myid").val(); //i was getting $ is not defined here when i run test.js
$.ajax({
url: "test/",
data: { 'id': id_Val },
dataType: 'json',
success: function (data) {
//some code
}
});
}
我尝试过
global。$ = require('jquery')(window); //现在,未定义窗口
如何对包含jquery($)的js函数进行单元测试