0

我一直在使用 jasmine 和 Qunit 等单元测试框架测试 JavaScript 代码。但是所有这些测试框架只在加载时工作,但我想在运行时启动测试用例,例如我想在按钮单击上测试对象的值,如下面的 Jasmine 测试用例,

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

        });
    };

如何动态运行测试用例?

4

1 回答 1

0

这是你如何做到的。

  • 在运行时调用 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);
    
于 2016-12-09T15:38:20.487 回答