Я использую Grails плагин многопользовательских однозначных дб. В этом контексте мне нужно написать тест спока, в котором мы временно удаляем ограничения арендатора. Расположение мой Арендатор, так что мой метод выглядит следующим образом:Спок тестирование, когда метод испытываемого содержит замыкание
def loadOjectDetails(){
Location.withoutTenantRestriction{
// code here to retrieve specific items to the object to be loaded
render(template: "_loadDetails", model:[ ... ]
}
}
метод работает, как ожидалось, но при попытке поставить метод под тестовым покрытием предполагает выход ошибки, что:
groovy.lang.MissingMethodException: No signature of method: com.myPackage.myController.Location.withoutTenantRestriction() is applicable for argument types:
и StackTrace что происходит оттуда.
Мне нужно STUB это делать? БезTenantRestriction является оберткой вокруг всей моей логики метода.
UPDATE: тест код выглядит следующим образом:
given:
params.id = 3002
currentUser = Mock(User)
criteriaSetup()
controller.getSalesOrder >> salesOrders[2]
when:
controller.loadOrderManageDetails()
then:
(1.._) controller.springSecurityService.getCurrentUser() >> currentUser
expect:
view == 'orderMange/orderManageDetail'
model.orderInstance == salesOrders[2]
Как выглядит тестовый код? – railsdog
Я обновил вопрос с помощью своего тестового кода по запросу – TroyB