Я использую Eclipse-PlugIn для TestNG, который отлично работает и выполняет мои тесты. Но это только когда я запускаю его из Eclipse.
Если я использую Apache ANT с указанной целью testng, он говорит, что TestNG не может выполнить задачи. Проблема в том, что существует несоответствие типов аргументов. Это действительно правильно. У меня есть метод before, который получает множество параметров, определенных в файле testng.xml, и один параметр от поставщика данных. И один параметр от поставщика данных, конечно, не объявлен как параметр файла testng.xml.
Самое смешное, что eclipse-plugin может справиться с этим корректно и работает так, как я хочу, но testng-версия ANT не может справиться с этим. Поэтому я спрашиваю себя, есть ли разные версии testng? Может быть, один справится, другой нет?
РЕДАКТИРОВАТЬ: Это трассировка стека. Это точно так же в плагине 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)