我如何构建一套Qunit测试,所有测试都有自己的qunit灯具?

时间:2013-03-28 23:39:33

标签: javascript qunit

我有两个XXXTest.html文件,每个都与此类似:

<html>
    <head>
        <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.11.0.css" />
        <script src="../../../public/scripts/common/SomeUtils.js"></script>
    </head>
    <body>
        <div id="qunit"></div>
        <div id="qunit-fixture">
             <div id="findme">Something specific for the code under test</div>
        </div>
        <script src="http://code.jquery.com/qunit/qunit-1.11.0.js"></script>
        <script src="SomeUtilsTest.js"></script>
    </body>
</html>

每个都有自己的qunit-fixture,因此html文件相当于JUnit Test Class。我意识到qunit认为模块与测试类大致相同,但这是非常有限的。

拥有可在其他html文件中执行测试的主html文件的最佳方法是什么?或者在qunit世界中分离出需要自己的灯具的测试的“正确方法”是什么?

2 个答案:

答案 0 :(得分:4)

我通常有一个master runner.html,让我的#qunit-fixture为空,并在我的模块的设置方法中填充灯具。

但是,如果你想分享html,那么很容易:

  1. 将html存储在模板中(即some-test-fixture.html)
  2. 使用ajax(或requirejs !text
  3. 加载模板

    然后你可以根据需要填充#qunit-fixture

答案 1 :(得分:3)

这个名为qunit-composite的插件很好。

“Composite是一个QUnit插件,当递送一个文件数组时,将打开iframe中的每个文件,运行测试,并将结果显示为一组QUnit测试。”