reportportal / agent-java-junit

Report Portal agent for JUnit 4
Apache License 2.0
11 stars 17 forks source link

NullPointerException when using JUnitParams #60

Closed DanielFedorowsky closed 4 years ago

DanielFedorowsky commented 4 years ago

Hello,

I receive the following error twice when I try to run a parameterized (using JUnitParams 1.1.1) test (the test itself passes but there are two mysterious tests called "classMethod" that fail)

java.lang.NullPointerException at com.epam.reportportal.junit.ParallelRunningHandler.buildStartTestItemRq(ParallelRunningHandler.java:307) at com.epam.reportportal.junit.ParallelRunningHandler.startTest(ParallelRunningHandler.java:136) at com.epam.reportportal.junit.ReportPortalListener.testStarted(ReportPortalListener.java:65) at com.nordstrom.automation.junit.RunAnnouncer.testStarted(RunAnnouncer.java:36) at org.junit.runner.notification.SynchronizedRunListener.testStarted(SynchronizedRunListener.java:49) at org.junit.runner.notification.RunNotifier$3.notifyListener(RunNotifier.java:121) at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72) at org.junit.runner.notification.RunNotifier.fireTestStarted(RunNotifier.java:118) at org.junit.internal.runners.model.EachTestNotifier.fireTestStarted(EachTestNotifier.java:42) at junitparams.internal.ParameterisedTestMethodRunner.runMethodInvoker(ParameterisedTestMethodRunner.java:45) at junitparams.internal.ParameterisedTestMethodRunner.runTestMethod(ParameterisedTestMethodRunner.java:40) at junitparams.internal.ParameterisedTestClassRunner.runParameterisedTest(ParameterisedTestClassRunner.java:146) at junitparams.JUnitParamsRunner.runChild$original$rG8AMkGf(JUnitParamsRunner.java:446) at junitparams.JUnitParamsRunner.runChild$original$rG8AMkGf$accessor$5RZ14YKA(JUnitParamsRunner.java) at junitparams.JUnitParamsRunner$auxiliary$n2dj1plO.call(Unknown Source) at com.nordstrom.automation.junit.LifecycleHooks.callProxy(LifecycleHooks.java:354) at com.nordstrom.automation.junit.RunChild.intercept(RunChild.java:62) at junitparams.JUnitParamsRunner.runChild(JUnitParamsRunner.java) at junitparams.JUnitParamsRunner.runChild(JUnitParamsRunner.java:393) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.run$original$oixVB9r6(ParentRunner.java:363) at org.junit.runners.ParentRunner.run$original$oixVB9r6$accessor$0pNyjhN1(ParentRunner.java) at org.junit.runners.ParentRunner$auxiliary$NmM4qtnw.call(Unknown Source) at com.nordstrom.automation.junit.LifecycleHooks.callProxy(LifecycleHooks.java:354) at com.nordstrom.automation.junit.Run.intercept(Run.java:66) at org.junit.runners.ParentRunner.run(ParentRunner.java) at org.junit.runners.BlockJUnit4ClassRunner.run$accessor$fckPfKMd(BlockJUnit4ClassRunner.java) at org.junit.runners.BlockJUnit4ClassRunner$auxiliary$uMgu60lQ.call(Unknown Source) at com.nordstrom.automation.junit.LifecycleHooks.callProxy(LifecycleHooks.java:354) at com.nordstrom.automation.junit.Run.intercept(Run.java:66) at org.junit.runners.BlockJUnit4ClassRunner.run(BlockJUnit4ClassRunner.java) at junitparams.JUnitParamsRunner.run$accessor$5RZ14YKA(JUnitParamsRunner.java) at junitparams.JUnitParamsRunner$auxiliary$HjeDmcBR.call(Unknown Source) at com.nordstrom.automation.junit.LifecycleHooks.callProxy(LifecycleHooks.java:354) at com.nordstrom.automation.junit.Run.intercept(Run.java:66) at junitparams.JUnitParamsRunner.run(JUnitParamsRunner.java) at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:110) at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58) at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38) at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) at com.sun.proxy.$Proxy35.processTestClass(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:118) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:175) at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:157) at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.lang.Thread.run(Thread.java:745)

Is JUnitParams supported? Any suggestions on how to fix the problem? Thanks

liamtsava commented 4 years ago

Created issue to JUnit Foundation library, as it's listener causes NPE

sbabcoc commented 4 years ago

Changes to resolve this issue have been merged. Hopefully, a new release will be published soon.

sbabcoc commented 4 years ago

Resolved by https://github.com/reportportal/agent-java-junit/pull/69

HardNorth commented 4 years ago

Yes, I believe this is fixed in 5.0.0-BETA-9, please check out an our example: https://github.com/reportportal/examples-java/blob/master/example-junit/src/test/java/com/epam/reportportal/example/junit/parametrized/JUnitParamsTest.java