织梦CMS - 轻松建站从此开始!

沙龙国际-沙龙国际娱乐-沙龙国际网上娱乐

当前位置: 主页 > 沙龙国际 >

requirejs业务模块都是内部函数,无法测试?

时间:2017-07-06 19:08来源:未知 作者:admin 点击:
正在对一个Hybrid APP的小项目尝试js单元测试。目前碰到的问题是业务代码都是requirejs模块,其中的函数也没有暴露,都是内部函数。 比如: define(['libs/jquery', '...'], function ($) { function

正在对一个Hybrid APP的小项目尝试js单元测试。目前碰到的问题是业务代码都是requirejs模块,其中的函数也没有暴露,都是内部函数。
比如:

define(['libs/jquery', '...'], function ($) {
     function init() {
         //init具体实现
     }
    //注册初始化事件
    $(document.body).on('init', '#thisModule', function () {
        init();
    });

};

对上面这段代码,我在使用karma jasmine requirejs测试时,在测试文件里,是无法调用到init进行测试的。所以这种情况下,是对init进行改造使得可以被测试文件访问?比如:

define(['libs/jquery', '...'], function ($) {
     var thisModule;
     thisModule.init =function() {
        //init具体实现
    }
    //注册初始化事件
    $(document.body).on('init', '#thisModule', function () {
        init();
    });
    
};

还是放弃测试这些函数,直接比对html中的结果呢?这种方法是不是失去了单元测试的意义?

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容