【发布时间】:2017-08-17 00:25:25
【问题描述】:
我最近(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 本身运行它时,它运行良好。
谢谢
【问题讨论】:
-
您应该更具体地了解失败的测试以及在测试失败之前对您的项目所做的更改。如果是集成测试,可能是由于环境污染。 IDEA 和 Maven 上的集成测试顺序可能不同,因此错误仅出现在 Maven 上。也尝试将发生的事情记录到测试中,以便您可以在之后进行调试,它将帮助您弄清楚。