是否有使用业力/茉莉来测试Angular 6中jQuery数据表的回调方法的方法?
我想测试以下方法的页脚回调,但无法找到任何方法。我是单元测试的新手,在网络上找不到任何有用的信息。
initializeBugIndexPageSetting() {
let self = this;
$('example').DataTable({
'footerCallback': function (row, data, start, end, display) {
const api = this.api();
// Remove the formatting to get integer data for summation
const intVal = function (i) {
if (i === 'N/A') {
return 0;
}
return i * 1;
};
// Total over this page
const pageInProgrssToResolved = api
.column(14, { page: 'current' })
.data()
.reduce(function (a, b) {
return intVal(a) + intVal(b);
}, 0);
const pageCount = api
.column(5, { page: 'current' })
.data().count();
// Update footer
$(api.column(14).footer()).html((pageInProgrssToResolved / pageCount).toFixed(2));
}
});
}
几乎没有帮助和指导。
答案 0 :(得分:1)
我建议将回调的内容放在单独的方法中,因为此新功能非常易于单元测试。
作为第二个测试,我建议通过在新函数上添加一个茉莉花间谍程序来测试initializeBugIndexPageSetting函数,然后在footerCallback中调用它,您可以仅检查它是否已被(.toHaveBeenCalledTimes(1)调用initializeBugIndexPageSetting函数后进行监视)。
您可以在此处找到有价值的教程:https://scriptverse.academy/tutorials/jasmine-createspy-createspyobj.html