javascript - 如何对嵌套函数和 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
东西都是出于安全原因(封装方法)。
对于我想的这个例子,我需要检查
create_event
函数的工作(和another_function
?),但是如何只选择和测试这块?如何正确地对这些文件进行单元测试?(通过使用模拟或其他额外的?)或者是否有必要重建这段代码?
解决方案
推荐阅读
- reactjs - 一个全新的 17.0.2 项目有这么多反应漏洞是有原因的吗?
- python - Python:如何在不破坏文件结构和样式的情况下修改 XLSX 中的特定单元格?
- kubernetes - 当一个 pod 资源限制没有超过,而单个容器的资源限制超过了,会发生什么?
- mysql - pymysql.err.InterfaceError: (0, '') 在多线程 python 中执行多个查询时出错
- json - 过滤:包含 Json 对象数组的 Json
- python - python中的时间戳格式
- python - Slack API:rtm.start 有效,但 rtm.connect 在 slack_sdk.rtm_v2 中无效
- python - 如何简化“二十一点”函数以提高效率?简单的语法/函数效率查询
- bash - 我想在 bash 中将变量分配给用逗号分隔的输入
- java - 如何将缓存中存储的数据用于springboot中的另一个功能