java blog jAbLoK

... řekněte Javě Ja!

/** * @author Tomáš Zvěřina * @date 6.7.2005 v 14:52 */

jUnit, Grobo, crond: Ještě větší bratr než jsme doufali

O testovaní jsme už vymlátili spoustu různě plné slámy:

Uspěšně provedené testy, u kterých se můžete pochlubit 0% failures, ještě ale nic nezaručují. Jednak můžou být blbě napsané, jednak jich může být málo.

S tím prvním bodem vám asi neporadím, ale určitě jsou na to téma napsány celé stohy další slámy vhodné k mlácení. Druhé situaci se ovšem dá předejít, nebo lze alespoň objektivně měřit jak na tom vaše testy s pokrytím jsou. Já pro tyto účely používám nástroj GroboCoverage z projektu GroboUtils, na který mě přivedl článek na JavaWorld.

Před vlastním spuštěním testů poštvěte Grobo na váš bytecode:

<grobo-instrument logdir="${dir.build.report}" logger="fast" destdir="${dir.build.grobo}">
  <fileset dir="${dir.build.compile}">
    <exclude name="**/*Test.class" />
  </fileset>
  <measure type="linecount" />
</grobo-instrument>

Doporučuji z měření pokrytí kódu testy vyloučit vlastní jUnit testy, kvalitě statistiky to nepřidávají. Po úpravě bytecodu pustíte vlastní testy. Zatímco testy běži, pozoruje Grobo co se děje a odškrtává si řádky zdrojáku, které byly provedeny. Až testy doběhnou, nechte si vygenerovat přehled:

<grobo-report logdir="${dir.build.report}">
  <simple destdir="${dir.build.report}" removeempty="true" />
  <source destdir="${dir.build.report}" removeempty="true" srcdir="${dir.src.java}" title="Test Code Coverage" />
</grobo-report>

V něm se dočtete kolik má Váš kód řádků, kolik z nich bylo testováno, kolik je poměr, kolik je poměr pro package, pro třídy. Všechno v barevných tabulkách, kterými se můžete chlubit vašim nadřízeným.

Kromě toho vyrenderuje Grobo zdojové kódy do HTML a podbarví řádky, které se během testů nespustily.

Moje rada zní: všechno to obalte vhodnými shell skripty, trochu si pohrajte se STDOUT a STDERR a vystavte reporty na firemním intranetu. Včetně stažení aktuálních zdrojáků a jejich kompilace to nacpěte do cronu a čekejte.

... no, dlouho se nebude dít nic. Ale až se jednou něco semele, budete rádi, že jste mě dneska poslechli.

/** * @author Pavel Kolesnikov * @date 4.7.2005 v 10:30 */

Java oddvojkována

Na konference Java One Sun oznámil přejmenování Javy 2 na pouhou Javu.

Namísto J2SE (Java 2 Standard Edition), J2EE (Java 2 Enterprise Edition) či J2ME (Java 2 Micro Edition) už odteď budeme mít pouze JSE, JEE a JME.

Pokud v dohledné době zvažujete změnu pracoviště, raději si zaktualizujte životopisy, aby používaly obě alternativy. Přeci jen pracovníci personálních agentur nemají čas sledovat každou změnu, a pokud klient žádá JEE, tak vaše zkušenosti s J2EE prostě nemusí být seznány dostačujícími ;)