首页 > 解决方案 > 如何对嵌套函数和 JS 进行单元测试

问题描述

作为新人加入项目。我的任务是对现有的 JS 代码进行单元测试。

整个项目网站系统的工作方式类似于(据我所知):Python + Django 包含 html 模板的所有逻辑、数据库和规则,当 JS 文件作为帮助在页面上编辑 html 代码的“小部件”时工作。

大多数 JS 文件都是这样的:

var WidgetSmart = (function() {
    var map
    function create_event() {
        $('.leaflet-pm-toolbar').addClass('leaflet-pm-toolbar-disable')
        /*
         * lines of code
         */
        another_function();
    }
    function another_function(){
        /*
         * lines of code
         */
    }

    return {
        init: function(map_obj) {
          map = map_obj
          create_event()
        }
    };
}());

正如我的同事所说,所有return东西都是出于安全原因(封装方法)。

  1. 对于我想的这个例子,我需要检查create_event函数的工作(和another_function?),但是如何只选择和测试这块?

  2. 如何正确地对这些文件进行单元测试?(通过使用模拟或其他额外的?)或者是否有必要重建这段代码?

标签: javascriptunit-testingjestjs

解决方案


推荐阅读