We've upgraded our app from Grails 2.4.4 to 2.5.0. All are working fine, but some test cases are failing which containing some private methods.
import org.junit.Before
class UserServiceSpec extends IntegrationSpec {
@Before
def setup() {
// Some initialization
}
// being used in other test methods
private void getParams() {
// some code
}
void testUserUniqueEmali() {
when: "this runs"
// code
then: "hello"
// code
}
}
Exception thrown:
java.lang.IllegalAccessException: Class org.spockframework.util.ReflectionUtil can not access a member of class com.test.UserServiceSpec with modifiers "private"
at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:153)
at org.spockframework.runtime.model.MethodInfo.invoke(MethodInfo.java:84)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
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.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at _GrailsTest.run_closure1(_GrailsTest.groovy:102)
at TestApp.run_closure1(TestApp.groovy:32)
I generated dependency report and here are some stats:
org.spockframework:spock-core:1.0-groovy-2.4
org.codehaus.groovy:groovy-all:2.4.3
This shows that latest version of the Spock framework is being used, but I'm not able to fix this problem. I've tried removing "private" modifier, but it still not working.