
08/02/2012, 10:07
|
 | | | Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 10 meses Puntos: 27 | |
Pruebas Unitarias: Correcto o Incorrecto Hola, buenos días,
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:
function 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 + ')');
})
Prueba 2
Código:
function 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 + ')');
})
Prueba 3
Código:
function 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);
})
Prueba 4
Código:
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);
})
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 :)
Agradeciendo sus comentarios, les envío un saludo!! |