Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Ant + JUnit: не происходит вызов теста


(Aleksey Krekotnev) #1

Всем доброго времени суток!
Коллеги, прошу помочь мудрым словом в решении задачи.
Есть build.xml-файл. В нем прописаны стандартные процедуры компиляции и архивирования исходников.
В одном из мест пытаюсь вызвать тест, расположенный во внешнем файле Main.java

<junit failureproperty="unit.test.failed" printsummary="yes" haltonerror="no">
            <formatter type="xml" usefile = "false"/>
              <test name="package1.Main" todir="${html.report.dir}"/>
            <classpath>
              <pathelement location="${lib}"/>
              <pathelement location="${build}/*.jar"/>
            </classpath>
</junit>

Но при обработке Ant’ом в Eclipse получаю сообщение в консоли:
[junit] java.lang.ClassNotFoundException: package1.Main

Корректно ли написание указанного участка кода?
Всем спасибо за ответ по существу :slight_smile:


(Aleksey Krekotnev) #2

Да, прошу сделать скидку - я джуниор :slight_smile:


(Aleksey Krekotnev) #3

Сам тест в файле Main.java предельно простой (проверяет сложение двух чисел) и отрабатывает без ошибок.


(Aleksey Krekotnev) #4

Всем спасибо - дело было в строке

<pathelement location="${build}/TestCalc.jar"/>

Надо было всего лишь прописать полное имя архива - TestCalc.jar


(heartwilltell) #5

Бросайте Ant - это тлен и безысходность, начинайте с Maven/Gradle - лучше с последнего


(Aleksey Krekotnev) #6

Благодарю за ответ. Надеюсь, Gradle позволяет легче выполнить аналогичную задачу :slight_smile:


(Aleksey Krekotnev) #7

Коллеги, доброго времени суток!
Обратил внимание на Grable: его изучение - это вопрос времени. А сейчас есть текущая задача, которую не удается никак решить. Был и на stock Overflow. Советы не помогают :frowning:
Вчера вечером появилась надежда запуститься. Но в консоли (после прогона на встроенном в Eclipse Ant’е) выходит ошибка, которая, думаю, знакома адептам:

Caused by: java.lang.ClassNotFoundException: org.hamcrest.SelfDescribing
  1. Библиотека подтянута стандартными способами через функционал Eclipse.
  2. Архив положен в папку library проекта.
    Если есть вопросы для помощи в поиске решения - прошу задавать. Я на связи :slight_smile:

(James May) #8

Я Вам советую еще раз проверить Classpath.

Вы точне не забыли добавить hamcrest-core?
Даже не смотря на то, что JUnit должен в себе его содержать, если память не изменяет, hamcrest-core надо подтягивать отдельно.


(Aleksey Krekotnev) #9

Спасибо за ответ :smile:
Ситуация разрешилась. И вот как.
Оказалось, что проект работает без ошибок у всех коллег, но у меня - нет.
После сноса Eclipse и повторной установки все заработало без проблем.
Видимо, какие-то специфические настройки были выставлены в попыхах изучения Eclipse.
Финальный звук бубна… :smiley: