Я пытаюсь использовать Ant и Maven для создания проекта. Я использую testNG для тестовых блоков. Как указано здесь (http://testng.org/doc/ant.html), я определил taskdef следующим образом:
<taskdef resource="testngtasks" classpath="testng.jar"/>
в Ant.
В Maven я добавил следующее (как указано здесь: http://testng.org/doc/maven.html)
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.2</version>
</dependency>
Maven получает файлы из репозитория maven, и я проверил расположение в /.m2. Теперь, когда я получаю testNG от maven, я должен изменить taskdef в ant, чтобы использовать этот новый в репозитории Maven. Я не уверен, как это сделать. Я пробовал следующее:
<taskdef resource ="testngtasks" classname="org.testng" />
и
<taskdef resource ="testngtasks" classname="org.testng" classpathref="maven.compile.classpath"/>
и
<taskdef resource ="testngtasks" />
но безуспешно, второй жалуется, что я не должен использовать classpathref, а первый говорит, что я должен указать class. Третий работает, но не полностью. Это происходит быстро, и я думаю, что оно проходит шаг taskdef, но не выполняет тесты. Часть Муравья (для третьего):
<taskdef resource="testngtasks" />
<target name="test" depends="compile">
<echo message="running tests" />
Часть вывода Ant: (обратите внимание, что эхо выполнено, оно каким-то образом прошло этап taskdef)
compile:
[javac] /home/shahin/Files/Development/Ant/ServiceEJBSample3/build-testNG.xml:31: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
test:
[echo] running tests
BUILD FAILED
/home/shahin/Files/Development/Ant/ServiceEJBSample3/build-testNG.xml:84: Problem: failed to create task or type testng
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
Я не уверен, как использовать библиотеку testNG в репозитории Maven для определения (taskdef) тестовых заданий в Ant. Любые идеи будут высоко оценены