QUnit输出:模块的视觉分离

Jul*_*ert 5 javascript unit-testing qunit

我的测试可能如下所示:

module("some module");

test("test A", ...);
test("test B", ...);

module("other module");

test("test C", ...);
test("test D", ...);
Run Code Online (Sandbox Code Playgroud)

QUnit的输出将如下所示

1. test A (0, 0, 0)
2. test B (0, 0, 0)
3. test C (0, 0, 0)
4. test D (0, 0, 0)
Run Code Online (Sandbox Code Playgroud)

是否可以使QUnit输出模块名称?我很想拥有:

some module
1. test A (0, 0, 0)
2. test B (0, 0, 0)

other module
3. test C (0, 0, 0)
4. test D (0, 0, 0)
Run Code Online (Sandbox Code Playgroud)

Jus*_*ove 4

根据QUnit 文档,模块开始(和结束)时有一个回调,此时您可以修改 DOM。

QUnit.moduleStart = function(name) {
  var tests = document.getElementById("qunit-tests");

  if ( tests ) {    
    var mod = document.createElement("h2");
    mod.innerHTML = name;
    tests.appendChild( mod );
  }
};
Run Code Online (Sandbox Code Playgroud)

将内容放在列表中间是一种顽皮的 DOM 行为,但它似乎有效,至少在 FireFox 中是这样。