Merhaba ben şöyle ApiService adlı bir hizmeti kullanan ApiController denilen bir denetleyici var. Ama bunun için bir test yazamıyorum.Grails Spock test Kontrolör ve servis
Bu benim var ne kadar geçerli: aşağıdaki hatayı alıyorum Bundan
@TestFor(ApiController)
@Mock([Category,ApiService])
class CategorySpec extends Specification {
def setup() {
}
def cleanup() {
}
void "test"() {
setup:
def apiService = Mock(ApiService)
when:
request.method = 'POST'
request.requestMethod = 'POST'
params.categoryID = 'test'
controller.createCategory()
then:
println(response)
1==1
}
: Benim apiService fasulye göremiyorum çünkü
java.lang.NullPointerException: Cannot invoke method createCategory() on null object
Bu besbelli. Yani Benim sorum bu Spock içinde nasıl yaparım?
when:
def serviceMock = mockFor(ApiService)
serviceMock.demand.createCategory { def params -> "output sample" }
controller.apiService = serviceMock.createMock()
controller.createCategory()
Denetleyiciniz, createCategory() 'i birbirine bağlayan ... ya da bu kontrole ait ayrıntılı bir yapıyı nasıl gösterir. –