Estou tentando fazer o Ant executar os testes unitários e não rola. A classe de teste se parece com a seguinte:
[code]package a.b.c;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class AlgoTest extends TestCase {
public AlgoTest(String testName) {
super(testName);
}
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new AlgoTest("testAlgo1"));
suite.addTest(new AlgoTest("testAlgo2"));
return suite;
}
public void testAlgo1() {
// algo para testar 1...
}
public void testAlgo2() {
// algo para testar 3...
}
}[/code]
A target Ant fiz assim:
[code] …
<target name=“junit” depends=“compile-tests”>
<junit printsummary=“on”
fork=“false”
haltonfailure=“false”
failureproperty=“tests.failed”
showoutput=“true”>
<formatter type=“plain” usefile=“false”/>
<batchtest>
<fileset dir="${build}">
<include name="**/*Test.class"/>
</fileset>
</batchtest>
</junit>
<fail if="tests.failed">
***
OS TESTES FALHARAM!
***
</fail>
</target>
…[/code]
Se eu executo a classe diretamente com java a.b.c.AlgoTest rola direitinho (claro que eu coloco um método main() chamando a suite de testes com o TestRunner).
Alguém pode me ajudar?
O erro que dá é o seguinte:
[code][junit] Running a.b.c.AlgoTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Testsuite: a.b.c.AlgoTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] Null Test Caused an ERROR
[junit] a.b.c.AlgoTest
[junit] java.lang.ClassNotFoundException: a.b.c.AlgoTest
[junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
[junit] at java.security.AccessController.doPrivileged(Native Method)
[junit] at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
[junit] TEST a.b.c.AlgoTest FAILED
[junit] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
[junit] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
[junit] at java.lang.Class.forName0(Native Method)
[junit] at java.lang.Class.forName(Class.java:141)
[/code]