SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Byggapplikasjonen din testbar Miniseminar NTNU Janniche Haugen
Vedlikehold av tester over tid
Kravarbeid
INVEST
IndependentNValuableESTestable
Om kravene dine virkerdetestable, må du gjørenoe med det
Et spørsmål om tid…
class Ordre { 	Date lagretTidspunkt;lagre() { this.lagretTidspunkt = new Date();	 		(… resten av koden for å lagre…) 	} }
new Date(); new Date(); new Date(); new Date(); new Date(); new Date();new Date(); new Date(); new Date(); new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();new Date(); new Date(); new Date();
interface Klokke { Date nå(); }
class Ordre { 	Date lagretTidspunkt;Klokke klokke; publicOrdre(Klokke klokke) { this.klokke = klokke; 	} (…)
	(…)lagre() { this.lagretTidspunkt = klokke.nå();	 	} }
classSystemKlokkeimplements Klokke { public Date nå() { returnnew Date(); 	} }
classJusterbarKlokkeimplements Klokke { 	Date tid; public Date nå() { return tid; 	} publicjusterTid(Date tid) { this.tid = tid; 	} }
@Test publictestSammenslåing() { 		Klokke klokke = newJusterbarKlokke(); 		Ordre ordre1 = newOrdre(klokke); 		Ordre ordre2 = newOrdre(klokke); (…)
(…) klokke.justerTid(new Date(10, 09, 21)); 		ordre1.lagre(); klokke.justerTid(new Date(10, 09, 22)); 		ordre2.lagre(); 		// sjekk ordre ikke sammenslått	 }
Stub ut avhengigheter til tid for å gjøre koden din testbar
Altså: For å bygge testbare applikasjoner  må vi tenkte testbarhet gjennom hele utviklingsprosessen
spørsmål?
Janniche Haugen Senior Consultant +47 986 28 859 janniche.haugen@bekk.no miss_haugen @ twitter

Bygg applikasjonen din testbar

Hinweis der Redaktion

  1. Hva er problemet med dette kravet?