У меня есть следующий тест JUnit в затмении:Проблема Запуск простой JUnit тест через Ant на затмение
package test;
import org.junit.Test;
public class SimpleJUnitTest
{
@Test
public void doTest() { System.out.println("Test did run"); }
}
И следующее build.xml в той же папке:
<?xml version="1.0" encoding="UTF-8"?>
<project name="LoggerTest" default="JUnitTest" basedir=".">
<target name="JUnitTest">
<junit>
<classpath location="../../lib/junit.jar" />
<test name="test.SimpleJUnitTest" />
</junit>
<echo>boo</echo>
</target>
</project>
Если я бегу в классе «Run As ...» и выберите JUnit, он работает без ошибок. Если я бегу build.xml под «Run As ...» и выберите Ant Build, я получаю следующий результат:
Buildfile: C:\Users\995868\workspace\JUnit1\tst\test\build.xml
JUnitTest:
[junit] Test test.SimpleJUnitTest FAILED
[echo] boo BUILD SUCCESSFUL Total time: 390 milliseconds
Если удалить атрибут под JUnit путь к классам, я получаю другое сообщение об ошибке о необходимости junit jar на пути к классам, поэтому я думаю, что JUnit получает вызов. Я просто не понимаю, что это за ошибка. Я попытался поставить статический блок-код в классе, чтобы сделать System.out.println()
, когда класс загружен, и он не отображается, поэтому, похоже, что-то не так в конфигурации.
Может кто-нибудь, пожалуйста, скажите мне, что здесь не так?
EDIT:
directory structure:
JUnit1
--bin
--test
--SimpleJUnitTest
--lib
--junit.jar
--scripts
--build.xml
--src
--tst
--test
--SimpleJUnitTest.java
Я также скопировал build.xml в TST и запустил его из командной строки из этого каталога, тот же результат.
Я скопировал junit.jar в% ant_home% \ lib без эффекта, хотя, когда я взял строку pathelement из пути к классам, я получил сообщение «The must должен включать junit.jar, если нет в собственной траектории пути Ant ». Я не уверен, где указан «путь к классу Ant». Блок с пути к классам нового сообщения об ошибке в следующем:
<classpath>
<pathelement location="c:/users/995868/apache-ant-1.9.4/lib" />
<pathelement location="../bin" />
</classpath>
Я не использую Hamcrest особенности в любом месте, так что я не смотрел его и положил его в я пытался сделать простой пример, и. в документации для юнита под муравьем (по крайней мере) не упоминается, что необходим hamcrest.
Дополнительная информация: Я думал, что, возможно, сам тестовый класс не найден; Я скопировал файл build.xml в каталог bin и подтвердил, что в bin был test \ SimpleJUnitTest.class.Я изменил местоположение класса, так как bin находится в другом месте относительно junit.jar. Поскольку я не вижу каталог bin в eclipse, я просто запускал ant из командной строки с рабочим каталогом, установленным в bin. Тот же результат. – arcy