bygg applikasjonen din testbar
Post on 28-Jun-2015
248 Views
Preview:
DESCRIPTION
TRANSCRIPT
Bygg applikasjonen din testbar
Miniseminar NTNU
Janniche Haugen
Vedlikehold av tester over tid
Kravarbeid
INVEST
IndependentN
ValuableES
Testable
Om kravene dine virker detestable, må du gjøre noe 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;
public Ordre(Klokke klokke) {
this.klokke = klokke;
}
(…)
(…)
lagre() {
this.lagretTidspunkt = klokke.nå();
}
}
class SystemKlokke implements Klokke {
public Date nå() {
return new Date();
}
}
class JusterbarKlokke implements Klokke {
Date tid;
public Date nå() {
return tid;
}
public justerTid(Date tid) {
this.tid = tid;
}
}
@Test
public testSammenslåing() {
Klokke klokke = new JusterbarKlokke();
Ordre ordre1 = new Ordre(klokke);
Ordre ordre2 = new Ordre(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?
BEKK CONSULTING ASSKUR 39, VIPPETANGEN. P.O. BOX 134 SENTRUM, 0102 OSLO, NORWAY.
WWW.BEKK.NO
Janniche HaugenSenior Consultant+47 986 28 859
janniche.haugen@bekk.nomiss_haugen @ twitter
top related