单击和切换事件的Jasmine测试用例
列出了我的代码,点击测试用例以供参考单击和切换事件的Jasmine测试用例,jasmine,jasmine-jquery,Jasmine,Jasmine Jquery,列出了我的代码,点击测试用例以供参考 Struggling on writing the testcases on click,toggle,slideUp,fade events. How do I write jasmine test cases to check if div is clicked or not and the slideUp and down and toggle events. Is there a provision in jasmine to test them.
Struggling on writing the testcases on click,toggle,slideUp,fade events.
How do I write jasmine test cases to check if div is clicked or not and the slideUp and down and toggle events. Is there a provision in jasmine to test them.
请帮助当大多数标记接受或响应单击事件时,在各种平台和浏览器上检测它可能会很困难。您最好检查一下
toggle()
处理的CSS类是否已被交换以响应单击。要检查将要移动的任何对象,只需检查起始X/Y坐标,然后将它们与动画完成时的坐标进行比较,只需检查它们是否不同(以避免使用严格定义的值创建脆弱的情况)
Getting TypeError:expect(…).not.equal不是调用上述函数的函数。我是否丢失了一些js文件?非常抱歉,在写这篇文章时,我溜回了chai。它应该是
toEqual
而不是equal
。此外,您可能需要检查X或Y坐标,而不是整个对象,因为我不记得当比较两个对象时Jasmine将如何操作,并且它们的值不相同。它应该可以工作,但万一您遇到问题,您应该可以使用自定义匹配器()来解决这个问题
SpecRunner.html file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Jasmine Spec Runner v2.3.4</title>
<link rel="shortcut icon" type="image/png" href="lib_jasmine/jasmine- 2.3.4/jasmine_favicon.png">
<link rel="stylesheet" href="lib_jasmine/jasmine-2.3.4/jasmine.css">
<script src="scripts/jquery.js"></script>
<script src="lib_jasmine/jasmine-2.3.4/jasmine.js"></script>
<script src="lib_jasmine/jasmine-2.3.4/jasmine-html.js"></script>
<script src="lib_jasmine/jasmine-2.3.4/boot.js"></script>
<script src="lib_jasmine/jasmine-2.3.4/jasmine-jquery.js"></script>
<!-- include source files here... -->
<script type="text/javascript" src="js/eigMain.js"></script>
<script type="text/javascript" src="js/sinon.js"></script>
<!-- include spec files here... -->
<script type="text/javascript" src="js/specEig.js"></script>
</head>
<body>
</body>
</html>
js file for reference
$('#screenPane').click(function(e){
$('#Panel,.FixedHeader').toggleClass('fullscreen');
$('#eIcon').toggle();
$('#cIcon').toggle();
$(".Col").toggle();
$('html, body').animate({scrollTop: $('#total-results').offset().top}, 800);
$('#nav_up').fadeIn('slow');
$('#nav_down').hide();
});
it ("should invoke the screenPane click event.", function() {
spyOnEvent($('#screenPane'), 'click');
$('#screenPane').click();
expect('click').toHaveBeenTriggeredOn($('#screenPane'));
});
//Checking coordinates
it ("should invoke the screenPane click event.", function() {
var coords = $('screenPane').offset();
$('#screenPane').click();
var newCoords = $('screenPane').offset();
expect(newCoords).not.toEqual(coords);
});
//Checking classes
it ("should invoke the screenPane click event.", function() {
var classes = $('screenPane').val('class');
$('#screenPane').click();
var newClasses = $('screenPane').val('class');
expect(classes).not.toEqual(newClasses);
});