2012-01-13 3 views
0

Я использую Eclipse-PlugIn для TestNG, который отлично работает и выполняет мои тесты. Но это только когда я запускаю его из Eclipse.TestNG ведет себя по-разному в Eclipse и в ANT

Если я использую ANT Apache с указанной целью testng, он говорит, что TestNG не может выполнять задачи. Проблема в том, что существует несоответствие типа аргумента. Это действительно правильно. У меня есть метод before, который получает множество параметров, определенных в файле testng.xml и один параметр от поставщика данных. И один параметр от поставщика данных не объявляется как параметр файла testng.xml, конечно.

Самое смешное, что плагин eclipse может справиться с этим правильно и работает так, как я хочу, но тестовая версия ANT не может справиться с этим. Поэтому я спрашиваю себя, существуют ли разные версии testng? Может быть, с этим можно справиться, а другой нет?

EDIT: Это стек. Это точно так же в плагине eclipse и в ANT. Но в плагине eclipse нет исключения.

java.lang.IllegalArgumentException: argument type mismatch 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:76) 
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:525) 
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:202) 
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:613) 
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:846) 
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1170) 
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) 
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) 
    at org.testng.TestRunner.runWorkers(TestRunner.java:1147) 
    at org.testng.TestRunner.privateRun(TestRunner.java:749) 
    at org.testng.TestRunner.run(TestRunner.java:600) 
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:317) 
    at org.testng.SuiteRunner.access$000(SuiteRunner.java:34) 
    at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:351) 
    at org.testng.internal.thread.ThreadUtil$CountDownLatchedRunnable.run(ThreadUtil.java:147) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:680) 
+0

Запуск с многословной = 10, это должно дать вам больше информации о том, что происходит на. Если это не поможет, отрегулируйте проект Eclipse, чтобы я мог его создать и отправить по электронной почте мне, я посмотрю. –

ответ

0

Новейшая версия 6.3.1, я полагаю, что это та, которую использует плагин eclipse.
Возможно, вы загрузили/установили один из муравьев.

Если вы открыли тот, который использовался в ant, как zip-файл, вы можете посмотреть манифест в META-INF/Manifest.mf. Это скажет вам версию этой банки.

Возможно, это несоответствие версии между библиотеками.

0

У меня была аналогичная проблема. Я хочу, чтобы муравей использовал банку, созданную с моим новым кодом. Для того, чтобы сделать это, я должен был открыть свойства моего проекта, поиск TestNG и проверить «Использование TestNG проекта баночку»

enter image description here

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