JavaScript中的运行时单元测试



我一直在使用茉莉花和Qunit等单元测试框架测试JavaScript代码。但是所有这些测试框架仅在加载时间工作,但是我想在运行时启动测试用例,例如,我想在按钮上单击按钮,如茉莉花的测试用例,

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

如何动态运行测试用例?

这是您的工作方式。

  • 在运行时调用Jasmineenv并运行测试
  • 请注意,我正在清理记者Div只是为了清理输出 - 在您的情况下可能没有必要。
  • 我的settimeout只是将div加载到页面上
  • 在此处看到它

    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);
    

最新更新