Unit-Testing mit Xcodefilename=UnitTesting.… · Unit-Testing • Funktionalität von Code...
Transcript of Unit-Testing mit Xcodefilename=UnitTesting.… · Unit-Testing • Funktionalität von Code...
Dennis Lewandowskimedia computing group
Unit-Testing mit XcodeDennis Lewandowski
Dennis Lewandowskimedia computing group
Überblick
1. Unit-Testing2. SenTestingKit3. Demo4. Debugging
2
Dennis Lewandowskimedia computing group
Unit-Testing
• Funktionalität von Code sicherstellen• Vorteile
• “Saubere Umgebung”• Methoden unabhängig testen• automatisches Testen
• Nachteile• zusätzlicher Programmieraufwand• Einarbeitung in Testumgebung nötig
3
Dennis Lewandowskimedia computing group
SenTestingKit
• Open source testing framework• Wird mit Xcode installiert• Seit Xcode4 integrierter Bestandteil der IDE
4
Dennis Lewandowski media computing group
SenTesting Aufbau// ExampleTest.h
#import <SenTestingKit/SenTestingKit.h>#import <UIKit/UIKit.h>
@interface ExampleTest : SenTestCase {}
// ExampleTest.m
@implementation ExampleTest
-(void)setUp{// wird vor jedem Test aufgerufen! [super setUp];}
-(void)tearDown{// wird nach jedem Test aufgerufen! [super tearDown];}
-(void)testExistanceOfObjects{
// Beispiel für einen TestSTAssertTrue(YES, @"Logic is inverted");
}
5
Dennis Lewandowskimedia computing group
Assertions
• STAssertTrue/STAssertFalse• Hat das Argument den Wert true/false?
• STFail• Lässt einen Test automatisch scheitern
• STAssertEquals• Prüft auf Gleichheit
• STAssertEqualObjects• STAssertNoThrow• STAssertNotNil
6
Dennis Lewandowskimedia computing group
SenTestingKit in XCode3
• Project > New Target• Cocoa > Unit Test Bundle Target
• File > New File• Cocoa > Objective C test case class
7
Dennis Lewandowskimedia computing group
DEMO
8
Dennis Lewandowskimedia computing group
Debugging (Xcode3)
9
• Tests werden beim Build-Durchlauf ausgeführt• Zum Debuggen muss getrickst werden!
• Mac OS: http://chanson.livejournal.com/120740.html• iOS: http://hiediutley.com/2011/03/08/xcode3-debugging-
ios-unit-tests/
Dennis Lewandowskimedia computing group
Vielen Dank.
10