Javascript 使用qunit测试代码时出错
这是应用程序的代码。 所有rest函数都是从Javascript 使用qunit测试代码时出错,javascript,jquery,qunit,Javascript,Jquery,Qunit,这是应用程序的代码。 所有rest函数都是从init()调用的 如何开始使用qunit测试代码,因为如果我直接调用tests.js文件中的函数,它会显示“ReferenceError:init未定义”” 您的问题是,您正在一个内声明您的init函数,而该函数范围之外的任何对象都无法访问该函数。您可以通过使用一个非常简单的“模块”模式来解决这个问题,该模式从IFFE返回init方法并将其分配给变量 JS // "namespace" for your application. // Whateve
init()
调用的
如何开始使用qunit测试代码,因为如果我直接调用tests.js文件中的函数,它会显示“ReferenceError:init未定义”
”
您的问题是,您正在一个内声明您的
init
函数,而该函数范围之外的任何对象都无法访问该函数。您可以通过使用一个非常简单的“模块”模式来解决这个问题,该模式从IFFE返回init方法并将其分配给变量
JS
// "namespace" for your application.
// Whatever your IFFE returns is assigned to the App variable
// this allows other scripts to use your application code
var App = (function ($, undefined) {
// some code here
// and has variables and functions defined which get called inside this and are all interdependent.
// example of a function inside your "application" js
var printTitle = function () {
var title = document.title;
console.log(title);
}
var init = function () {
printTitle();
}
// expose internal methods by returning them.
// you should probably be exposing more than your init method
// so you can unit test your code
return {
init: init
}
})(jQuery);
// since we've returned the init function from within our iffe
// and that function is assigned to the App variable
// we are able to call App.init here
App.init(); // logs title
我发现以下文章有助于进行js测试:
// "namespace" for your application.
// Whatever your IFFE returns is assigned to the App variable
// this allows other scripts to use your application code
var App = (function ($, undefined) {
// some code here
// and has variables and functions defined which get called inside this and are all interdependent.
// example of a function inside your "application" js
var printTitle = function () {
var title = document.title;
console.log(title);
}
var init = function () {
printTitle();
}
// expose internal methods by returning them.
// you should probably be exposing more than your init method
// so you can unit test your code
return {
init: init
}
})(jQuery);
// since we've returned the init function from within our iffe
// and that function is assigned to the App variable
// we are able to call App.init here
App.init(); // logs title