Hace unos días coloqué un tema donde solicitaba ayuda para realizar pruebas unitarias mediante QUnit. Afortunadamente las respuestas dadas fueron de mucha ayuda! :D
Después de unos días de hacer test's, quisiera saber si lo estoy haciendo correctamente, ya que por falta de experiencia en este tema me llegan a surgir algunas dudas. Posteo algunos de los códigos a los que les apliqué estas pruebas.
Prueba 1
Código:
Prueba 2function ir_paso1(val){ url=location.search; /*$('#contenido').html(''); location.search = ('step=1');*/ return val == 'step=1'; } /* Se realizan las pruebas con diversos valores hasta llegar al requerido */ module ("Test Módulo AC-01"); test('Testing ir_paso1()', function() { ok(ir_paso1(a = 0), 'El valor no debe ser númerico igual a (' + a + ')'); ok(ir_paso1(a = 1), 'El valor no es numérico positivo (' + a + ')'); ok(ir_paso1(a = -2), 'El valor no es numérico negativo (' + a + ')'); ok(ir_paso1(a = 'abcdef'), 'El valor es cadena pero no es igual a (' + a + ')'); ok(ir_paso1(a = ''), 'El valor no debe estar vacío (' + a + ')'); ok(ir_paso1(a = []), 'El valor no debe ser un array (' + a + ')'); ok(ir_paso1(a = {}), 'El valor no debe ser un objeto (' + a + ')'); ok(ir_paso1(a = function(){}), 'El valor no es una funcion a modificar (' + a + ')'); ok(ir_paso1(a = 'step=1'), 'El valor es igual a (' + a + ')'); })
Código:
Prueba 3function getarticulo(art_id){ /*Se hace la conexión */ return art_id == 174789; $.ajax({ type: "post", url: "../com/datos.cfc", /* URL del archivo .cfc con funciones*/ data:'method=getarticulo&id_articulos=' + art_id, dataType: "json", success: function(resultado){ var jresultado = JSON.stringify(resultado); resultado = eval(JSON.parse(jresultado)); /* Se empuezan a crear los objetos */ var columna = new Object(); for(var i = 0; i < resultado.COLUMNS.length; i++) { columna[resultado.COLUMNS[i]] = i; } var id_art = resultado.DATA[0][columna["ATX_ARTICULO"]]; var descript = resultado.DATA[0][columna["ART_DESCRIP"]]; var imagen = resultado.DATA[0][columna["IMAGEN"]]; }, error: function(xhr, textStatus, errorThrown){ //Si hay un error } }); } /* Se realizan las pruebas con diversos valores hasta llegar al requerido */ module ("Test Módulo AR-01"); test('Testinggetarticulo()', function() { okgetarticulo(a = 0), 'El valor no debe ser númerico igual a (' + a + ')'); ok(!getarticulo(a = 1), 'El valor es diferente a (' + a + ') pero si es numérico positivo'); ok(getarticulo(a = -174789), 'El valor no es numérico negativo (' + a + ')'); ok(getarticulo(a = 'abcdef'), 'El valor es cadena pero no es igual a (' + a + ')'); ok(getarticulo(a = ''), 'El valor no debe estar vacío (' + a + ')'); ok(getarticulo(a = []), 'El valor no debe ser un array (' + a + ')'); ok(getarticulo(a = {}), 'El valor no debe ser un objeto (' + a + ')'); ok(getarticulo(a = function(){}), 'El valor no es una funcion a modificar (' + a + ')'); ok(getarticulo(a = 174789), 'El valor es igual a (' + a + ')'); })
Código:
Prueba 4function getpuntos(pesos){ var puntos = (pesos * 100) / 4000; return puntos; } /* Se realizan las pruebas con diversos valores hasta llegar al requerido */ module ("Test Módulo CB-01"); test('Testing getpuntos()', function() { equal(getpuntos(1500, 100), 37.5); equal(getpuntos(null, 100), 37.5); equal(getpuntos('1500', 100), 37.5); equal(getpuntos('', 100), 37.5); equal(getpuntos([], 100), 37.5); equal(getpuntos({}, 100), 37.5); equal(getpuntos('abcd', 100), 37.5); })
Código:
Sólo estas cuatro pruebas, tampoco busco aburrirlos jajaja porque en total realicé 22 pruebas a códigos de javascript y 19 a códigos en coldfusion con MXUnit. Bueno si alguien conoce del tema le agradecería algún comentario, consejo o sugerencia para que pueda seguir creciendo sobre este tema :)function solo_numeros(evt){ evt = (evt) ? evt : event var key = (evt.which) ? evt.which : evt.keyCode; if (key > 47 && key < 58 || key == 8 || key == 37 || key == 39 || key == 46 || key == 9) { return true; } else { return false; } return (parseFloat (evt) == evt ? true : false); } /* Se realizan las pruebas con diversos valores hasta llegar al requerido */ module ("Test Módulo MA-01"); test('Testing solo_numeros()', function() { ok(!solo_numeros('abcd') == true); ok(solo_numeros('abcd') == true); ok(solo_numeros('.') == true); ok(solo_numeros(-5) == true); })
Agradeciendo sus comentarios, les envío un saludo!!