Ios.s14
Upcoming SlideShare
Loading in...5
×
 

Ios.s14

on

  • 382 views

 

Statistics

Views

Total Views
382
Views on SlideShare
292
Embed Views
90

Actions

Likes
0
Downloads
5
Comments
0

1 Embed 90

http://moodle.urbegi.com 90

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Ios.s14 Ios.s14 Presentation Transcript

  • 14 - TESTEO AUTOMÁTICOCurso de desarrollo de aplicaciones móviles para iPhone y iPad endika.gutierrez@urbegi.com alex.rayon@urbegi.com Urbegi Learning Contents
  • CONTENIDO• Introducción• Testeo Automático
  • CONTENIDO • Introducción• Testeo Automático
  • INTRODUCCIÓN• El testeo automático es una filosofia para reducir errores de programación• Sebasa en programar diversos casos o teses que deben producir un resultado esperado
  • INTRODUCCIÓN• Porlo tanto se interpreta que todo funciona correctamente cuando todos los teses han producido un resultado esperado• Enel caso de que alguna de las pruebas produzca un resultado inesperado es que hay algún problema
  • INTRODUCCIÓN• No se debe confundir resultado inesperado con error, ya que en un test unitario un error puede ser el resultado esperado • Ejemplo: NSArray *array = [NSArray array]; // Array vacio [array objectAtIndex:2]; // Esto deberá lanzar una excepción
  • CONTENIDO• Introducción • Testeo Automático
  • TESTEO AUTOMÁTICO• Existen multitud de frameworks para el testeo automatico en iOS • Se incluye uno por defecto llamado SenTestingKit • Cuando creamos un proyecto podemos decir que utilizaremos tests unitarios
  • TESTEO AUTOMÁTICO• Existen multitud de frameworks para el testeo automatico en iOS • Se incluye uno por defecto llamado SenTestingKit • Cuando creamos un proyecto podemos decir que utilizaremos tests unitarios
  • TESTEOAUTOMÁTICO
  • TESTEO AUTOMÁTICO• Launidad de prueba es el TestCase y cada uno de ellos será representada en una clase que hereda de SenTestCase • Este TestCase puede estar destinado a probar una o varias clases• Veamos el aspecto del testCase por defecto
  • TESTEO AUTOMÁTICO@implementation testTests- (void)setUp{ [super setUp]; // Preparación del test}- (void)tearDown{ // Restauración de los cambios del test [super tearDown];}- (void)testExample{ STFail(@"Unit tests are not implemented yet in testTests");}@end
  • TESTEO AUTOMÁTICO• Podemos ir añadiendo teses creando funciones con la forma: - (void)testNombreDelTest• Es decir, mientras comiencen por test... serán ejecutados de manera automática después del código de inicialización
  • TESTEO AUTOMÁTICO• Dentro de cada una de estas funciones podremos hacer numerosas pruebas• Las pruebas comienzan por STAssert... • Podemos que funciones no lancen excepciones, que las lancen, que retornen un determinado valor, etc
  • TESTEO AUTOMÁTICO• El ejemplo anterior quedaría así:- (void)testArray{ NSArray *array = [NSArray array]; STAssertThrows([array objectAtIndex:2], @"Indice fuera de rango debe lanzarexcepción");}
  • TESTEO AUTOMÁTICO• Un ejemplo más complejo podría ser:- (void)testArray{ NSArray *array = [NSArray array]; STAssertThrows([array objectAtIndex:2], @"Indice fuera de rango debe lanzarexcepción"); STAssertEquals(array.count, 0, @"La longitud del array es 0"); array = [NSArray arrayWithObjects:@"Uno", @"Dos", nil]; STAssertEqualObjects([array lastObject], @"Dos", @"Orden de los arrays correcto"); STAssertNotNil([array objectAtIndex:0], @"No puede devolver nil");}
  • FIN