2010-02-16 2 views
2

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

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

Но у меня есть JUnit-4.8.1.jar на пути к классам в/и т.д./окружающей среды и я могу успешно запустить тесты JUnit из консоли с помощью

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

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

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

[править]

Что я сделал, чтобы экспортировать/включать (используя язь) все библиотеки (включая JUnit) Гудзон затем читает все, что нужно от подрывной деятельности репо.

Я столкнулся с проблемой разоблачения hudson в интернете и довольно скоро отказался от tomcat на сервере ubuntu (опять же, чтобы сделать с менеджером безопасности tomcat) - glassfish намного более плавный, и вот где я сейчас - apache front end с ajp_proxy для hudson на стеклянную рыбку.

+0

Попробуйте запустить тесты junit с консоли с той же учетной записью пользователя (окружением), на которой запущен ваш TOMCAT. –

+0

Aha! Просто попробовал, и tomcat6 не может найти класс. – blank

+0

... Я думал/etc/environment был глобальным? Почему пользователь tomcat не может видеть junit? – blank

ответ

2

Вам необходимо правильно установить путь к классам, используете ли вы 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-дом по умолчанию, если он отличается для физических и Hudson.

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

junit-home=/etc/environment 
0

Junit jar находится на пути к классам, но он не упакован в папку проекта netbeans.

Решение: удалить автоопределение добавляемых JUnit экспромты из вашего Netbeans проекта (тест библиотеки), а затем явно добавить JUnit баночку с помощью правой кнопкой мыши «тестовые библиотеки» -> «Добавить JAR/папку»

0

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

http://wiki.hudson-ci.org/display/HUDSON/Setenv+Plugin

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

Смежные вопросы