Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Pruebas Unitarias: Correcto o Incorrecto

Estas en el tema de Pruebas Unitarias: Correcto o Incorrecto en el foro de Frameworks JS en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/02/2012, 10:07
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
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!!

Etiquetas: ajax, correcto, funcion, html, incorrecto, javascript, js, pruebas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:01.