テストの実行中に次の問題が発生しています。ただし、呼び出しカウントが 1 より大きい @Test で @DataProvider を使用している場合にのみ発生します。以下のリンクが同じ問題であるかどうかはわかりません。 Eclipse TESTNG プラグイン 6.9.13.X のバージョン (この 6.9.14.201610261028 を使用)。
同じ問題が発生している簡単なコードを次に示します。
@Test(dataProvider = "data", timeOut = 6000, threadPoolSize = 10, invocationCount = 5)
public final void x(String a,
String b, String c, String d,
String e, String f, String g){
System.out.println("D"
+ " - "
+ java.lang.Thread.currentThread().getId()
+ " - "
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")
.format(new Date()));
}
出力例を次に示します。
スレッド - 1274 - 2016-10-28 08:47:23.889 PASSED: x("00336293615", "02/24/2016", "03/10/2016", "3", "0", "3", "11.57") スレッド - 1275 - 2016-10-28 08:47:23.897 スレッド - 1273 - 2016-10-28 08:47:23.898 java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(不明なソース) ) org.testng.reporters.TextReporter.logResults(TextReporter.java:80) で java.util.ArrayList$Itr.next(Unknown Source) で org.testng.reporters.TextReporter.onFinish(TextReporter.java:32) でorg.testng.TestRunner.fireEvent(TestRunner.java:1239) org.testng.TestRunner.afterRun(TestRunner.java:1030) org.testng.TestRunner.run(TestRunner.java:636) org.testng.SuiteRunner org.testng.SuiteRunner の .runTest(SuiteRunner.java:366)。org.testng.SuiteRunner.privateRun(SuiteRunner.java:319) で runSequentially(SuiteRunner.java:361) org.testng.SuiteRunner.run(SuiteRunner.java:268) で org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java) :52) org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) で org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) で org.testng.TestNG.runSuitesLocally(TestNG.java:1169) で org .testng.TestNG.run(TestNG.java:1064) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) at org. testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) で org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) で org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) で org.testng.TestNG.runSuitesLocally(TestNG) .java:1169) で org.testng.TestNG.run(TestNG.java:1064) で org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) で org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG. java:236) org.testng.remote.RemoteTestNG.main (RemoteTestNG.java:81) でSuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) で org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) で org.testng.TestNG.runSuitesSequentially(TestNG.java:1244) で org.testng.TestNG.runSuitesLocally(TestNG) .java:1169) で org.testng.TestNG.run(TestNG.java:1064) で org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) で org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG. java:236) org.testng.remote.RemoteTestNG.main (RemoteTestNG.java:81) でrun(AbstractRemoteTestNG.java:132) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)run(AbstractRemoteTestNG.java:132) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)
場合によっては、次の例外もスローされます。
org.testng.remote.strprotocol.JsonMessageSender.sendMessage(JsonMessageSender.java:37) で java.io.OutputStreamWriter で (不明なソース)。org.testng で java.lang.NullPointerException org.testng.remote.strprotocol.RemoteTestListener1.onTestSuccess(RemoteTestListener1.java:88) の .remote.strprotocol.MessageHub.sendMessage(MessageHub.java:43) org.testng.internal.Invoker.runTestListeners(Invoker.java:1695) の) org.testng.internal.Invoker.runTestListeners(Invoker.java:1675) で org.testng.internal.Invoker.invokeMethod(Invoker.java:700) で org.testng.internal.Invoker.invokeTestMethod(Invoker.java: 820) org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:75) で org.testng.internal.java.util.concurrent.FutureTask.run の TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:14) (未知のソース) java.util.concurrent.Executors の $RunnableAdapter.call(未知のソース) java.util.concurrent.FutureTask.run の(不明なソース) java.util.concurrent.ThreadPoolExecutor.runWorker で (不明なソース) java.util.concurrent.ThreadPoolExecutor$Worker.run で (不明なソース) java.lang.Thread.run で (不明なソース) java.lang. IllegalStateException: org.testng.remote.strprotocol.JsonMessageSender.sendMessage(JsonMessageSender.java:31) でシャットダウン送信者にメッセージを送信しようとしていますorg.testng.remote.strprotocol.RemoteTestListener1.onTestStart(RemoteTestListener1.java:49) org.testng.internal.Invoker.runTestListeners(Invoker.java:1700) org.testng.internal.Invoker.runTestListeners(Invoker.java:1675) org.testng.internal.Invoker.invokeMethod(Invoker.java:619) org.testng .internal.Invoker.invokeTestMethod(Invoker.java:820) で org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:75) で org.testng.internal.TestMethodWithDataProviderMethodWorker.call(TestMethodWithDataProviderMethodWorker.java:14) で java. util.concurrent.FutureTask.run (未知のソース) で java.util.concurrent.Executors$RunnableAdapter.call (未知のソース) で java.util.concurrent.FutureTask.run (未知のソース) で java.util.concurrent.ThreadPoolExecutor. java.util.concurrent.ThreadPoolExecutor$Worker.run(不明なソース) で java.lang で runWorker(不明なソース)。Thread.run(不明なソース)
もっと情報が必要な場合は教えてください。
ありがとう!!!