Jak próbować obiekt poleceń znajdujący się wewnątrz kontrolera
Mam klasę kontrolera, wewnątrz której mam obiekt polecenia. Mam metodę find (), która używa tego obiektu polecenia w następujący sposób:
class itemController{
//command object
class SearchCommand{
String email
static constraints={
email blank:false,email:true
}
def find = {SearchCommand sc ->
if(!sc.hasErrors()){
----- do something---
}
}
Teraz piszę przypadek testowy, aby przetestować metodę find w kontrolerze. Ale przypadek testowy kończy się niepowodzeniem
if(!sc.hasErrors())
ponieważ sc jest nadal „null”. Nie wiem, jak obsługiwać ten obiekt poleceń klasy wewnętrznej w przypadku testowym. Przypadek testowy, który do tej pory napisałem, to:
class itemControllerTests extends ControllerUnitTestCase {
void testFind(){
def model = controller.find()
assertNotNull(model)
}
}
Jak obsłużyć klasę wewnętrzną Command Object w przypadku testowym. Czy ja szyję z tego? Próbowałem użyć mockCommandObject (?), Ale nie jestem pewien, jak mam przekazać obiekt polecenia klasy wewnętrznej do tego?