Привет я совсем новичок в использовании муравей, мой инструктор хотел, чтобы использовать его, чтобы сделать некоторые задачи, такие как построить класс, запустите tests..etcJunit тест терпит неудачу, но построить успешно (Ant)
и я я действительно запутался, так как я не могу сделать работу юнита. Я прочитал несколько других сообщений и источников, но это еще больше смущает меня.
ошибка я получаю:
Testsuite: SolutionTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0 sec
Caused an ERROR
SolutionTest
java.lang.ClassNotFoundException: SolutionTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:340)
это мой файл сборки:
<project name="Solution" basedir="." default="main">
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="doc.dir" value="${build.dir}/documentation" />
<property name="test.dir" value="${build.dir}/test" />
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false">
</javac>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
</jar>
</target>
<target name="clean" depends="jar">
<delete dir="${classes.dir}"/>
</target>
<target name="doc" depends="clean">
<mkdir dir="${doc.dir}" />
<javadoc destdir="${build.dir}/documentation" sourcefiles="${src.dir}/*.java" />
</target>
<target name="junit" depends="doc">
<mkdir dir="${test.dir}" />
<junit printsummary="yes" haltonfailure="no">
<classpath location="." />
<test name="SolutionTest" haltonfailure="no" todir="${test.dir}" outfile="result">
<formatter type="plain" />
<formatter type="xml" />
</test>
</junit>
</target>
<target name="main" depends="clean, junit"/>
</project>
JUnit не могут найти тесты. Измените ' ', чтобы указать, где вы действительно размещаете скомпилированные файлы .class. Однако я не вижу, где вы собираете свои тесты. Вам может понадобиться цель, подобная цели компиляции, только с тегами test.dir или такими, а не с src.dir. –
Robert
Похоже, что цель вашего юнита не зависит от какой-либо цели компиляции. Это зависит от 'doc', который зависит от' clean', но там нет компиляционного шага. Вам может потребоваться скомпилировать ваши классы и проверить зависимости на 'test.dir', а затем указать ваш элемент' classpath' в этот каталог вместо '.' – jrahhali
Чтобы JUnit завершил сбой при сборке, когда тесты терпят неудачу (или их не удается найти) измените «haltonfailure» на «yes» в цели junit. – Robert