我正在创建一个Jasmine测试,以查看在单击对象$('#notification')
时是否正在调用该函数。
以下是.cshtml
文件中的代码:
$('#notification').click(function() {
showNotification();
});
这是我目前的Jasmine测试:
describe("Notification", function () {
beforeEach(function () {
loadFixtures('dashboard.cshtml');
});
it("should call function when notification is clicked", function() {
spyOn(window, 'showNotification');
$('#notification').click();
expect(window.showNotification).toHaveBeenCalled();
});
});
但是,我得到了这个结果:
Test 'Notification:should call function when notification is clicked' failed
Expected spy showNotification to have been called.
我做错了吗?我错过了什么吗?我是Jasmine的新手。
编辑:这是showNotification的样子。
function showNotification () {
loadNotification('', '');
resetFields();
}
编辑:找到了我的问题的解决方案。我使用以下代码来模拟点击。
$('#notification').on('click', function () {
showNotification();
});
$('#notification').click();
我现在能够测试是否正在调用showNotification以及showNotification中的loadNotification和resetFields。
感谢那些回应的人。有人会关闭这个吗?答案 0 :(得分:0)
结果显示,您将监听器添加到按钮,但从未通过单击操作触发它。
添加此点击操作以触发测试:
$('#notification').trigger('click');