javascript - requirejs业务模块都是内部函数,无法测试?
伊谢尔伦
伊谢尔伦 2017-04-11 13:30:00
[JavaScript讨论组]

正在对一个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中的结果呢?这种方法是不是失去了单元测试的意义?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号