Diese Wiki Seite sieht etwas verhagelt aus, da sie in erster Linie im Präsentationsmodus funktionieren muß.
Browser im Kiosk Modus:
Safari: keine Ahnung
-
Opera von Haus aus
Vortrag am 17. März 2010
The main thing that distinguishes legacy code from non-legacy code is tests, or rather a lack of tests. Michael Feathers
ungeordnete Stichpunkte
Testprogramm für einzelne Programmbausteine (Klassen, einzelne Methoden),
zustandslos, bereitet die Vorbedingungen selbst vor,
automatisierbar, prüft alle Nachbedingungen, Schritt im Build Prozeß,
normalerweise in der gleichen Sprache geschrieben wie der zu testende Code,
nicht Teil des ausgelieferten Programms.
#import <SenTestingKit/SenTestingKit.h>
@interface MyClassTC : SenTestCase {}
@end
#import "MyClass.h"
@implementation MyClassTC
-(void)setUp {
}
-(void)tearDown {
}
-(void)testMethodXY {
...
STAssertEqualObjects(@"expected", ..., @"fail");
}
@end
-
Refactoring ohne Nervenkitzel,
-
keine „vergessenen“ Tests, da jeder Build alle prüft, Bedingung für Continuous Integration.
Test Framework zur bequemen Entwicklung, Ausführung und für Berichte,
normalerweise pro Logikbaustein (Klasse) eine Testklasse,
pro Bug / gewünschtem Verhalten eine Testmethode:
-(void)testRFC1123 {
NSString *s = @"Fri, 14 Aug 2009 14:45:31 GMT";
STAssertEqualObjects(s, [[NSDate dateFromRFC1123:s]
rfc1123String], @"fail");
}
dazu brauchen wir ein „Custom Executable“:
Pfad
Developer/usr/bin/otest relativ zu „Current
SDK“
-
das können wir dann als Active Executable starten und debuggen. Vorsicht:
Parameter und Umgebungsvariablen gehen in die *.pbxuser Datei ein und gehen drum leicht verloren.
die Debugsitzung startet nur, wenn alle Tests erfolgreich sind (Build Abhängigkeit) - ich kommentiere die kritischen STAsserts zeitweise aus (Holzhammer)
einfachere Projekteinrichtung,
benutzerbezogene Einstellungen abschaffen,
-
Don’t stress about unit tests. They are intended as a tool for ensuring good test coverage and memory management. Use them in that way to aid your development process. ADC
-
Testing-Taliban schrecken moderate Seelen oft ab,
ein laufendes Programm ist wichtiger als 100% Testabdeckung,
die ersten Tests für Spaghetti Code können allerdings frustrieren.
XCode Anleitungen die ich schlußendlich verstanden habe: