При написании модульных тестов в Grails 3.x нам приходится имитировать домены. Вот пример кода.
package com.example.service
import grails.test.mixin.Mock
import grails.test.mixin.TestFor
import spock.lang.Ignore
import spock.lang.Specification
@TestFor(SomeService)
@Mock([DomainA, DomainB])
class SomeServiceSpec extends Specification{
...
}
Проблема в том, что при добавлении нового домена, скажем, DomainC и модульные тесты зависят от DomainC, тогда эти модульные тесты не пройдены. Затем мы должны вручную добавить DomainC.
Есть ли способ динамического макета доменов?
@TestFor(SomeService)
@Mock([dynamically mock all domain objects here])
class SomeServiceSpec extends Specification{
...
}