J'ai un simple service de Grails:IllegalStateException Exécution Grails Unité des services Tests
@Transactional
class SearchService {
def doSomething() {
10
}
}
avec une unité simple test:
class SearchServiceSpec extends Specification implements ServiceUnitTest<SearchService>{
def setup() {
}
def cleanup() {
}
void "test something"() {
expect:
service.doSomething() == 10
}
}
Quand je lance le test, je reçois l'exception suivante:
Quelqu'un sait ce que cela signifie?
Chose étrange est-ce fonctionne si je change doSomething
à getSomething
, puis faites service.something
. J'ai les versions suivantes: | Grails Version: 3.3.0 | Groovy Version: 2.4.11 | Version JVM: 1.8.0_60
En utilisant une méthode « get » est exactement ce qu'ils ont dans la documentation: https://testing.grails.org/latest/guide/index.html#unitTestingServices Ajouter une annotation @Mock() à votre classe et il devrait câbler GORM et travailler. (Grails avant 3.3). Je ne sais pas comment ils l'ont changé en 3.3. – bassmartin