【发布时间】:2023-03-19 06:30:02
【问题描述】:
我正在使用适用于 TestNG 的 Eclipse-PlugIn,它可以正常工作并执行我的测试。但这只是当我从 Eclipse 中启动它时。
如果我将 Apache ANT 与指定的 testng-target 一起使用,它会说 TestNG 无法执行任务。问题是参数类型不匹配。这确实是正确的。我有一个 before 方法,它获取 testng.xml 文件中定义的大量参数和来自数据提供者的一个参数。而且数据提供者的一个参数当然没有声明为 testng.xml 文件的参数。
有趣的是,eclipse-plugin 可以正确处理它并按我的意愿工作,但 ANT 的 testng-version 无法处理它。所以我问自己,是否有不同版本的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)
【问题讨论】:
-
以verbose=10 运行,这应该会为您提供有关正在发生的事情的更多信息。如果它没有帮助,修剪你的 Eclipse 项目,以便我可以构建它并通过电子邮件发送给我,我会看看。