2016-12-09 157 views
0

我一直在使用像茉莉花和Qunit这样的单元测试框架测试JavaScript代码。但是,所有这些测试框架只能在加载时,但我想开始在运行时的测试案例,比如我想点击一个按钮像下面的茉莉花测试用例测试对象的价值,在JavaScript中运行时单元测试

function btnClick() { 
     var temp++;     
     describe("Test Suite Inside Button Click", function() { 
      it("To test true value", function() { 
       expect(temp).not.toEqual(-1); 
      }); 

     }); 
    }; 

如何动态运行测试用例?

+0

我不明白。当你真的在应用程序中手动点击按钮时,你想运行测试吗? – Amygdaloideum

回答

0

下面是你是如何做到的。

  • 调用jasmineEnv在运行时间和运行测试
  • 请注意,我清理出记者的div只是为了清理 输出 - 这可能不是你的情况,以必要的。
  • 我的setTimeout只是到div加载到页面
  • 看到它在action here

    var testFunc = function() { 
        //this is optional- I'm just clearing the reporter out to run it on fiddle. 
        $('.jasmine_html-reporter').remove(); 
        var jasmineEnv = jasmine.getEnv(); 
        describe('test', function() { 
         it('sample test', function() { 
         console.log('test ran'); 
         expect(true).toBe(true); 
         }); 
        }); 
        jasmineEnv.execute() 
    } 
    
    setTimeout(function() { 
        $('#myElement').click(testFunc); 
    }, 0);