Abbiamo aggiornato la nostra app da Grails 2.4.4 a 2.5.0. Funzionano tutti bene, ma alcuni casi di test hanno esito negativo e contengono alcuni metodi privati.Grails test di spock con metodi privati non riusciti dopo l'aggiornamento a 2.5.0
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
}
}
Eccezione gettata:
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)
ho generato rapporto di dipendenza e qui ci sono alcune statistiche:
org.spockframework:spock-core:1.0-groovy-2.4
org.codehaus.groovy:groovy-all:2.4.3
Questo dimostra che la versione più recente del quadro Spock è in uso, ma io' Non sono in grado di risolvere questo problema. Ho provato a rimuovere il modificatore "privato", ma ancora non funziona.
risposta da ZZ5 descrive cosa sta succedendo –