Как я могу заставить Хадсона иметь доступ к JUnit? - PullRequest
2 голосов
/ 16 февраля 2010

У меня Hudson работает на TOMCAT, он может собрать мой проект Netbeans с использованием ant build.xml, но он не запустит ни одного из моих модульных тестов, потому что я предполагаю, что это проблема с classpath:

package org.junit does not exist
    [javac] import org.junit.After;
    [javac]                 ^

Но у меня есть файл junit-4.8.1.jar на пути к классам в / etc / environment, и я могу успешно запустить тесты junit из консоли, используя

java org.junit.runner.JUnitCore org.junit.tests.AllTests

Мой CLASSPATH установлен на /home/bedwyr/junit4.8.1/junit-4.8.1.jar:.

Я где-то ошибаюсь или мне нужно что-то еще установить?

[править]

Что я сделал, так это экспортировал / включал (используя ide) все библиотеки (включая Junit) hudson, а затем считывал все необходимое из репозитория subversion.

Затем я столкнулся с проблемой разоблачения Хадсона в Интернете, и довольно скоро разочаровался в tomcat на сервере ubuntu (опять же, что касается менеджера безопасности tomcat) - glassfish стал намного более гладким, и вот где я сейчас - внешний интерфейс apache с ajp_proxy для hudson на glassfish.

Ответы [ 3 ]

2 голосов
/ 16 февраля 2010

Вам необходимо правильно указать путь к классу, независимо от того, используете ли вы Ant или Maven для сборки.

Использование Ivy с Ant или переключение вашей сборки на Maven позволит сборке автоматически искать зависимости и правильно устанавливать путь к классу. Если ни один из этих вариантов не подходит, вам нужно сделать что-то похожее на Ant.

<property file="build.properties" />
<property name="junit-home" location="/etc/environment" />

<path id="test.compile.classpath">
  <path refid="compile.classpath" />
  <pathelement location="${junit-home}/junit-4.8.1.jar" />
  <pathelement location="${target}" />
</path>

Часть build.properties позволит вам переопределить стандартное junit-home, если оно отличается для отдельных пользователей и hudson.

Другой способ изменить свойства - при вызове Ant из Hudson есть расширенный раздел, который позволяет вам передать файл свойств или форму свойств, которая позволит вам вводить пары ключ-значение в следующем формате:

junit-home=/etc/environment
0 голосов
/ 03 апреля 2010

Вы можете экспортировать переменные окружения в Hudson. Для этого есть плагин.

http://wiki.hudson -ci.org / дисплей / HUDSON / SETENV + Plugin

Но решение, предложенное Робом, имеет больше смысла. Здесь вам не нужно беспокоиться о том, где вы бежите. В зависимости от переменной среды это не очень хорошая идея. Так как это влияет на все программы, которые вы запускаете.

0 голосов
/ 21 марта 2010

Джунта находится на пути к классам, но он не упакован где-то в папке проекта NetBeans.

Решение: удалите автоматически добавленную junit lib из вашего проекта netbeans (тестовой библиотеки), а затем явно добавьте jarit jar, щелкнув правой кнопкой мыши «test library» -> «add jar / folder»

...