2009-10-11 18 views
5

Benim testleri bu gibi görünebilir:QUnit çıkışı: modüllerinin görsel ayırma

module("some module"); 

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

module("other module"); 

test("test C", ...); 
test("test D", ...); 

QUnit çıktısı bu

1. test A (0, 0, 0) 
2. test B (0, 0, 0) 
3. test C (0, 0, 0) 
4. test D (0, 0, 0) 

gibi görünecek bu QUnit çıktı üretmesi modülü adlarını yapmak mümkün mü? Ben sahip olmak isterdim:

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) 

cevap

4

QUnit documentation göre, DOM değiştirebilir ve bu noktada modül başlangıcı (ve son) üzerinde bir geri arama vardır. Listenin ortasında şeyler koyarak

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

    if (tests) {  
    var mod = document.createElement("h2"); 
    mod.innerHTML = name; 
    tests.appendChild(mod); 
    } 
}; 

tür yaramaz DOM akıllıca, ama en azından FireFox'ta, iş gibi görünüyor.

+0

eserler. –

0

Justin Aşk çözüm benim için işe yaramadı, ama aynı istenen sonucu elde etmek için testten sonra aşağıdaki JQuery JavaScript ekleyebilirsiniz: Çok IE8'de

QUnit.done(function(details) 
{ 
    $("#qunit-tests > li ") //the test rows 
    .each(function(index, Element){ 
     var moduleName = $(".module-name", this).text(); 
     if (moduleName !== $(".module-name", this.previousSibling).text()) 
     { 
      $(this).before(//prepend header to it 
       function(){ 
        return "<h3 class='module-header'>" + moduleName + "</h3>" 
       ;}) 
     } 
    }); 
});