这个 JavaScript 可以使用 Jasmine 进行单元测试吗?
Is this JavaScript unit testable using Jasmine?
此 javascript 代码是否可使用 Jasmine 进行单元测试。如果不是,我们如何使其可单元测试?
问题基本上是 helloworld
函数在测试规范 js 文件中不可访问,因为它不在全局范围内。我们如何重构代码,使其可以在测试规范文件中访问?
(function($){
function helloWorld() {
return "Hello world!";
}
})(jQuery);
不,您不能测试不可见的函数。
您应该通过定义一些全局常量在您的测试环境中有条件地导出它:
(function ($) {
var exports = window.TESTING ? window : {}
exports.helloWorld = function () {
// ...
};
})(jQuery);
此 javascript 代码是否可使用 Jasmine 进行单元测试。如果不是,我们如何使其可单元测试?
问题基本上是 helloworld
函数在测试规范 js 文件中不可访问,因为它不在全局范围内。我们如何重构代码,使其可以在测试规范文件中访问?
(function($){
function helloWorld() {
return "Hello world!";
}
})(jQuery);
不,您不能测试不可见的函数。
您应该通过定义一些全局常量在您的测试环境中有条件地导出它:
(function ($) {
var exports = window.TESTING ? window : {}
exports.helloWorld = function () {
// ...
};
})(jQuery);