我最近遇到了这个奇怪的问题(3-4周),我得到了" java.lang.ArrayIndexOutOfBoundsException:0"对于测试套件中的一个测试。 测试方法运行正常,直到失败,然后出现以下异常:
java.lang.ArrayIndexOutOfBoundsException: 0
org.testng.internal.MethodInvocationHelper.invokeWithTimeoutWithNewExecutor(MethodInvocationHelper.java:289)
org.testng.internal.MethodInvocationHelper.invokeWithTimeout(MethodInvocationHelper.java:246)
org.testng.internal.Invoker.invokeMethod(Invoker.java:667)
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
org.testng.TestRunner.privateRun(TestRunner.java:744)
org.testng.TestRunner.run(TestRunner.java:602)
org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
org.testng.SuiteRunner.run(SuiteRunner.java:289)
org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1297)
org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
org.testng.TestNG.runSuites(TestNG.java:1144)
org.testng.TestNG.run(TestNG.java:1115)
org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:283)
org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75)
org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:120)
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)
非常感谢任何帮助或指针。 只有当我进行" mvn测试"时才会出现问题。当我从IDEA本身运行它时,它运行正常。
由于
答案 0 :(得分:3)
请检查相关测试是否与超时有关。最近在TestNG中提出了一个与超时相关的问题(详细信息可以在GITHUB-1493中找到)我修复了。
您共享的堆栈跟踪仅指向此问题。
如果它与此相关,那么恐怕没有解决方法,但要开始使用快照版本并开始使用TestNG v.6.13或更高版本(当它被释放时)或暂时排除该特定测试(再次直到包含修复的TestNG 6.13被释放。
答案 1 :(得分:0)
我自己在谷歌搜索这个问题(我正在运行TestNG v6.11),当我读到Krishnan Mahadevan的评论时,我试图转到6.10。没问题,现在@Test
timeOut
引发了ThreadTimeoutException
而不是ArrayIndexOutOfBoundsException
。以防你想尝试一下。
答案 2 :(得分:0)
我使用的是testng版本6.11,并且在配置超时方面存在相同的问题。
@Test(timeOut=1000)
升级到6.13.1,问题消失了,我得到了预期的ThreadTimeoutException
。