En god session omkring optimering af ens unit test.
Navngivning
Brugte de første 15+ minutter til at tale om navngivning af test, noget der lå taleren meget på sinde – men pointen var, at med den rette navngivning ville ens test fremstå mere overskuelige og læsbare for f.eks. nye udviklere der skal sættes ind i koden.
Understregede vigtigheden af at testen udtrykker den forventede opførsel snarere end den implementering der er lavet.
Dernæst blev der gennemgået forskellige værktøjer til at forbedre tests:
Hamcrest
Giver mulighed for at lave mere læsbare og “kraftige” assertions så man f.eks. skriver
assertThat(xxx, is(yy));
Dette skulle gøre de enkelte tests mere læsbare.
Der er forskellige matchers til rådighed og de kan bundles, så hvis man har en test der ender i multiple asserts kan man bruge allOff(x, y,z), og dette vil så evaluere alle de angivne matchers og hvis een eller flere fejler, producere et samlet resultat af testen (i modsætning til en traditionel liste af asserts der vil stoppe efter den første fejler).
Parameterized data – mulighed for at parameterisere testen så een test kan dække en lang række af input+forventet output kombinationer
Rules – f.eks. til at udtrykke en timeout så alle tests forventes at afsluttes indenfor 1 sekund.
Categories – til gruppering af testcases
Mockito – et letvægts mock-framework (men her var vi så gået over tiden desværre)…