单击和切换事件的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);
  });