Checkout our demo site to practice selenium https://magento.softwaretestingboard.com/

0 like 0 dislike
1.6k views
by Expert (572 points)

I am executing my JUnit code. I want my method to be executed once. I am using @BeforeClass. I am getting below error.

 

16:44:52 java.lang.Exception: Method preparation() should be static
16:44:52 	at org.junit.runners.model.FrameworkMethod.validatePublicVoid(FrameworkMethod.java:93)
16:44:52 	at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:74)
16:44:52 	at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:155)
16:44:52 	at org.junit.runners.ParentRunner.collectInitializationErrors(ParentRunner.java:125)
16:44:52 	at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:124)
16:44:52 	at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
16:44:52 	at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)
16:44:52 	at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
16:44:52 	at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
16:44:52 	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
16:44:52 	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
16:44:52 	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
16:44:52 	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
16:44:52 	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:250)
16:44:52 	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
16:44:52 	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
16:44:52 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
16:44:52 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
16:44:52 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
16:44:52 	at java.lang.reflect.Method.invoke(Method.java:498)
16:44:52 	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
16:44:52 	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
16:44:52 	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
16:44:52 	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
16:44:52 	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

 

1 Answer

1 like 0 dislike
by The go-to Tester (181 points)
selected by
 
Best answer
It looks like you have not used static before your preparation method. Make it static and also any class level variable you are using in this method.
by Expert (572 points)
That worked!


This site is for software testing professionals, where you can ask all your questions and get answers from 1300+ masters of the profession. Click here to submit yours now!

1.4k questions

1.6k answers

866 comments

1.9k users

...