On Thursday 18 of August 2005 10:03, Vit Novak wrote:
> Vzhledem k tomu, ze u JUnitu stejne neni definovano, v jakem poradi se
> testMetody pousti, prislo by mi jako cistsi a citelnejsi si udelat jen
> jednu testMetodu a v ni si volat svoje testy, ktere uz nebudou mit prototyp
> "public void testBlaBla()". Mnohem lip pak muzu zachazet i se stavem
> objektu, pokud ho potrebuju atp.
> Metody fail, assertTrue atp. muzete pouzivat vesele dal.
>
> Jedina nevyhoda, kterou ted vidim, je ta, ze pokud ve firme mate metriku na
> pocet testu, pak takto vytvarene testy se v ni neprojevi. :)

Sorry, ale toto je tezky nonsence. Nejde ani o metriku, ale o to, ze 
likvidujete paralelismus pri vyvoji a, coz je dulezitejsi, z toho, ktere 
testy prosly a ktere ne lze mnohem lepe vyvodit kde nastala chyba. Navic pri 
rozumnych nazvech testu pak vite, co jste uz otestovali  a co ne.  Ja typicky 
pred implementaci kazde featury napisu do testu patricne tridy metodu 

public void testNovaFeatura() {
 throw new UnsupportedOperationException("To be implemented");//TODO
}

(uz mam na to sablonu v IDEI ;-) )

A pokud se nechci spolehnout na to, ze JUnit funguje tak, ze zavola metody 
tridy tak, jak jsou po sobe napsane ve zdrojaku, pouzivam nasledujici 
konstrukci:

    /**
     * Initialize suit.
     */
    public static Test suite() {
        // ensure the test sequence
        TestSuite retval = new TestSuite();

        retval.addTest(new MyTest("testHeadDirNonexistent"));
        retval.addTest(new MyTest("testGetDirNonexistent"));
        retval.addTest(new MyTest("testAppendDirNonexistent"));
        retval.addTest(new MyTest("testDeleteDirNonexistent"));
        return retval;
   }

       public static void main(String args[]) {
        TestRunner.run(suite());
    }

    public MyTest(String name) {
        super(name);
    }

A pokud potrebuju mit nejaky objekt v nejakem stavu, vzdy si ho znovu vytvarim 
a z inicialniho stavu jej v kazdem testu nastavim do stavu patricneho. Jinak 
nikdo nezaruci, co je v jakem stavu. A samozrejme v kazdem kroku nastaveni 
pouzivam JUnitove asserty...
-- 
Oto 'tapik' Buchta, [EMAIL PROTECTED]
QA Engineer, Systinet Corp,
http://www.systinet.com

Odpovedet emailem