【问题标题】:Runtime unit testing in JavaScriptJavaScript 中的运行时单元测试
【发布时间】:2016-12-09 06:18:17
【问题描述】:

我一直在使用 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);
            });

        });
    };

如何动态运行测试用例?

【问题讨论】:

  • 我不明白。当您实际在应用程序中手动单击按钮时,您想运行测试吗?

标签: javascript unit-testing jasmine jasmine-jquery jasmine2.0


【解决方案1】:

这是你的做法。

  • 在运行时调用 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);
    

【讨论】:

    猜你喜欢
    • 2016-11-18
    • 2012-11-28
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    相关资源
    最近更新 更多