Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Ant a testovaci trida junit

Zdravím,

mám napsaný program v jave a pro něj testovací třídu junit. (mám stažený junit-4.10.jat)

Když to všechno přeložím a spustím ručně v terminálu (pomocí classpath), tak testovací třída vypíše, že proběhlo tolik a tolik testů, žádná chyba a OK, prostě všechno funguje správně.

Problém je v tom, že když to spustím a přeložím pomocí ANTU (build.xml), viz dole, tak mi to vyhodí toto:

run:
    [junit] Running test_junit
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
    [junit] Test test_junit FAILED

Zdrojový kod antu:

<?xml version='1.0' encoding='utf-8' ?>

<project name = "pokusJunit" default="run">

    <target name="clean">
        <delete dir="build"/>
    </target>

    <target name="run" depends="compile">
        <junit printsummary="on">
            <test name="test_junit"/>
            <classpath>
                <pathelement location="./lib/junit-4.10.jar"/>
                <pathelement location="build"/>
            </classpath>
        </junit>
    </target>


    <target name="compile" depends="clean">
        <mkdir dir="build"/>
        <javac includeantruntime="false"
               srcdir="src"
               destdir="build"
               classpath="lib/junit-4.10.jar:src"/>
    </target>

</project>

Dekuji za kazdou radu.

Předmět Autor Datum
Testovaci trida by měla byt v pořadku, když při ručním spuštění z terminálu projde bez problemu. Nev…
JanH 10.04.2013 20:21
JanH
Pridaj si tam formatter, aby si videl aj nejaké podrobnosti, napríklad: <formatter type="plain" use…
los 10.04.2013 20:25
los
Ted mi to vypisuje: run: [junit] Running test junit [junit] Testsuite: test junit [junit] Tests run…
JanH 10.04.2013 20:33
JanH
JUnit nevie nájsť tvoju triedu na classpathe. Skontroluj si, či ti správne zbehol build. Spusti ant…
los 10.04.2013 20:49
los
Překlad proběhne v pořádku, protože když to antem jen přeložím (ant compile) a pak spustím ručně z t…
JanH 10.04.2013 21:04
JanH
Keď to spustíš takto, tak to tiež zbehne v pořádku? :-) java -classpath build:lib/junit-4.10.jar or…
los 10.04.2013 21:06
los
to uz nejde JUnit version 4.10 Could not find class: test_junit Time: 0 OK (0 tests)…
JanH 10.04.2013 21:08
JanH
<test name="Projekt.test_junit"/>
los 10.04.2013 21:55
los
Ooh konečně, děkuju ti moc.
JanH 10.04.2013 22:06
JanH
upravil jsem radek: <pathelement location="build/Projekt"/> ale chyba je furt stejná.
JanH 10.04.2013 21:12
JanH
Už si nevím brady. Stromová struktura Pokus | |----lib | |----junit-4.10.jar | |----src | |----Pro…
JanH 10.04.2013 21:49
JanH
Jenom dotaz. Proc jeste, v dobach Mavenu a Gradle, pouzivas Ant?
MaSo 11.04.2013 11:32
MaSo
Myslím, že Ant je v porovnaní s Mavenom ešte v pohode. Zvlášť keď prihliadnem na to, akým spôsobom j…
los 12.04.2013 20:44
los
Maven a Eclipse je boj, to je pravda. Ale NetBeans a Idea mají nativní podporu zvládnutou dobře a dá… poslední
MaSo 13.04.2013 10:18
MaSo

Testovaci trida by měla byt v pořadku, když při ručním spuštění z terminálu projde bez problemu.
Nevim, kde by mohla nastat ta jedna chyba, kterou mi to vypisuje.

run:
    [junit] Running test_junit
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
    [junit] Test test_junit FAILED

Ted mi to vypisuje:

run:
    [junit] Running test junit
    [junit] Testsuite: test junit
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
    [junit] 
    [junit] 	Caused an ERROR
    [junit] test junit
    [junit] java.lang.ClassNotFoundException: test junit
    [junit] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    [junit] 	at java.lang.Class.forName0(Native Method)
    [junit] 	at java.lang.Class.forName(Class.java:266)
    [junit] 
    [junit] Test test junit FAILED

Ale o moc chytřejší z toho nejsem.

Překlad proběhne v pořádku, protože když to antem jen přeložím (ant compile) a pak spustím ručně z terminálu, takto:

java -classpath build:lib/junit-4.10.jar org.junit.runner.JUnitCore Projekt.test_junit

Tak test proběhne v pořádku.

Už si nevím brady.

Stromová struktura

Pokus
 |
 |----lib
 |     |----junit-4.10.jar
 |
 |----src
 |     |----Projekt
 |             |----soubory .java včetně testovací třídy 
 |
 |----build
 |      |----Projekt
 |              |----prelozene soubory .class
 |
 |
 |----build.xml (pro ant)

Myslím, že Ant je v porovnaní s Mavenom ešte v pohode. Zvlášť keď prihliadnem na to, akým spôsobom je spravená integrácia Mavenu s Eclipse a ako Maven (ne)funguje v bežnej korporátnej sieti, kde sa používa proxy s autentifikáciou cez NTLM/Kerberos.

Maven a Eclipse je boj, to je pravda. Ale NetBeans a Idea mají nativní podporu zvládnutou dobře a dá se říct, že funguje bez problémů. Na Eclipse už jsem dávno zanevřel...:-)

U nás používáme Maven (v kombinaci s Nexusem, Jenkinsem a GITem) na všech projektech a dá se říct, že bez problémů. S problémy s autentifikací jsem se nidky nesetkal. Výhodu Mavenu o proti Antu vidím hlavně v docela dobře použitelném dependency managementu.

Gradle je už pak luxus. :-)

Zpět do poradny Odpovědět na původní otázku Nahoru