javascript的Jasmine测试

javascript的Jasmine测试,jasmine,Jasmine,我正在学习jasmine框架为javascript编写单元测试。为了做到这一点,我尝试为我的javascript函数编写一个单元测试。但它没有成功 我的Javascipt函数如下: Toggle.test=function(){ trackClick (): }
 var toggleButton =$(‘#toggleButton’); toggleButton.click(trackClick);

我正在学习jasmine框架为javascript编写单元测试。为了做到这一点,我尝试为我的javascript函数编写一个单元测试。但它没有成功

我的Javascipt函数如下:

    Toggle.test=function(){
        trackClick ():
    }
    



    var toggleButton =$(‘#toggleButton’);
                toggleButton.click(trackClick);

                 function trackClick() {
                   if (toggleButton.hasClass('open')){
   trackingObject.getReady(function(){
trackingObject.trackt('o',‘eventId’,{
             var1: “exp.kpy”,
              var2: “exp.kcy"
       });
    });
     }

     else{
        trackingObject.getReady(function(){
        trackingObject.track('o','eventId',{
                 var1: “clp.kcy”,
                 var2: "clp.kcy"
        });
     });
     }
     }
为了测试上述功能,我编写了jasmine单元测试,如下所示:

    describe(“TestTracking“,function(){
          var toggleButton,
                 trackingObject;

    beforeEach(function(){
         toggleButton = $('#toggleButton');
        

    window.trackingObject = {
             getReady: function(arg){
              },
                    
              track: function(args){ 
              }
    }

    trackingObject=window.trackingObject

    spyOn(trackingObject,“getReady”).and.callThrough();
    spyOn(trackingObject,“track”).and.callThrough()
    });

     describe(‘Toggle’, function () {
        
    it("Toggle expand", function () {
       var open = 'open';

    spyOn(toggleButton,'hasClass').and.callFake(function(open) {
         return true;
     });

    Toggle.test();

expect(trackingObject.trackEvent).toHaveBeenCalledWith('o', ‘eventId’, {
var1: “exp.kpy”,
           vr2: “exp.kcy”
     });
            
            
               
            
            
          
     });
     });
我面临的问题是,当控件到达if(toggleButton.hasClass('open'){in trackClick()函数时,它的计算结果为false,即使我发现它是:

    spyOn(toggleButton,'hasClass').and.callFake(function(open) {
        return true;
 });
谁能帮我解决这个问题


如果有任何帮助,我们将不胜感激。

您能修改您的格式吗?因为我是通过手机发帖的,所以格式有点困难。