4

While I am running JUnit file I am getting the following type of error. Here is the complete stacktrace below:

org.powermock.reflect.exceptions.FieldNotFoundException: Field 'fTestClass' was not found in class org.junit.internal.runners.MethodValidator.
    at org.powermock.reflect.internal.WhiteboxImpl.getInternalState(WhiteboxImpl.java:643)
    at org.powermock.reflect.Whitebox.getInternalState(Whitebox.java:308)
    at org.powermock.modules.junit4.internal.impl.testcaseworkaround.PowerMockJUnit4MethodValidator.validateTestMethods(PowerMockJUnit4MethodValidator.java:79)
    at org.powermock.modules.junit4.internal.impl.testcaseworkaround.PowerMockJUnit4MethodValidator.validateInstanceMethods(PowerMockJUnit4MethodValidator.java:49)
    at org.junit.internal.runners.MethodValidator.validateMethodsForDefaultRunner(MethodValidator.java:51)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.validate(PowerMockJUnit44RunnerDelegateImpl.java:108)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.<init>(PowerMockJUnit44RunnerDelegateImpl.java:70)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:144)
    at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:39)
    at org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators(AbstractTestSuiteChunkerImpl.java:111)
    at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>(JUnit4TestSuiteChunkerImpl.java:59)
    at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>(AbstractCommonPowerMockRunner.java:32)
    at org.powermock.modules.junit4.PowerMockRunner.<init>(PowerMockRunner.java:26)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
    at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createUnfilteredTest(JUnit4TestLoader.java:84)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:70)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

I am using junit 4.12 jar, powermock-api-mockito 1.6.6 jar, powermock-module-junit4 1.6.6 jar, powermock-module-junit4 common 1.6.6 jar, powermock-core 1.6.6 jar

Can anyone help me to resolve this issue ?

Stefan Birkner
  • 24,059
  • 12
  • 57
  • 72
LPatil
  • 233
  • 3
  • 15
  • 2
    Possible duplicate of [Unable to run JUnit test with PowerMockRunner](https://stackoverflow.com/questions/26192929/unable-to-run-junit-test-with-powermockrunner) – Yosef Weiner Jun 13 '17 at 06:38
  • 1
    I have read that and i have also tried this – LPatil Jun 13 '17 at 06:51
  • 1
    junit: 4.12 powermock-api-mockito: 1.6.1 powermock-module-junit4: 1.6.1 – LPatil Jun 13 '17 at 06:51
  • But it did not worked.What should i do next? – LPatil Jun 13 '17 at 06:52
  • It looks like PowerMock determines a wrong version of JUnit. See https://github.com/powermock/powermock/blob/master/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/testcaseworkaround/PowerMockJUnit4MethodValidator.java – Stefan Birkner Jun 13 '17 at 07:06
  • Can you build your project with a build tool like Ant, Maven or Gradle? – Stefan Birkner Jun 13 '17 at 07:08
  • Looks like another version of junit in class path. PowerMock uses `junit.runner.Version` class to determinate jUnit version. – Artur Zagretdinov Jun 13 '17 at 16:29
  • junit: 4.12 powermock-api-mockito: 1.6.1 powermock-module-junit4: 1.6.1 worked for me as LPatil mentioned above. – Dipankar Nov 05 '20 at 19:02

0 Answers0