考虑以下我的 JavaScript 函数片段 -
firstJs.prototype.SetSum=function(a,b){
var htmlToBind="<div>"+(a+b)+"</div>";
$('#setSum').html(htmlToBind);
};
这里setSum
是DOM中的一个elementID。我想了解这个函数如何通过Jasmine或Jest完成的单元测试,因为当单元测试运行时它不会找到' DOM 中的 setSum' 因此测试用例失败。我是测试用例中的菜鸟
最佳答案
依赖注入(inject)等技术将在这方面为您提供帮助。
不要假设与 $('#setSum')
对应的元素可供函数使用,而是将该元素作为参数传入。
例如,将您的函数转换为:
function (a, b, element) {
var htmlToBind = "<div>" + (a + b) + "</div>";
element.innerHTML(htmlToBind);
}
现在,您的测试函数可以将任何 HTML 元素传递给第三个参数。
关于javascript - JavaScript 单元测试的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48780313/