salida QUnit: separación visual de los módulos
-
20-09-2019 - |
Pregunta
Mis pruebas pueden tener este aspecto:
module("some module");
test("test A", ...);
test("test B", ...);
module("other module");
test("test C", ...);
test("test D", ...);
La salida de QUnit se parecerá a esto
1. test A (0, 0, 0)
2. test B (0, 0, 0)
3. test C (0, 0, 0)
4. test D (0, 0, 0)
¿Es posible hacer que la salida QUnit los nombres de los módulos? Me gustaría tener:
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)
Solución
De acuerdo con la QUnit documentación , hay una devolución de llamada en el inicio de módulo (y final), por lo cuyo momento se podía modificar el DOM.
QUnit.moduleStart = function(name) {
var tests = document.getElementById("qunit-tests");
if ( tests ) {
var mod = document.createElement("h2");
mod.innerHTML = name;
tests.appendChild( mod );
}
};
poner cosas en el medio de una lista es una especie de DOM traviesa sabia, pero parece que funciona, al menos en Firefox.
Otros consejos
solución
El amor de Justin no funcionó para mí, pero se puede insertar la siguiente JQuery Javascript después de la prueba para conseguir el mismo resultado deseado:
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>"
;})
}
});
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow