So verspotten Sie ein Befehlsobjekt im Controller
Ich habe eine Controller-Klasse, in der ich ein Befehlsobjekt habe. Ich habe eine Methode find (), die dieses Befehlsobjekt wie folgt verwendet:
class itemController{
//command object
class SearchCommand{
String email
static constraints={
email blank:false,email:true
}
def find = {SearchCommand sc ->
if(!sc.hasErrors()){
----- do something---
}
}
Jetzt schreibe ich einen Testfall, um die Find-Methode im Controller zu testen. Aber der Testfall schlägt um
if(!sc.hasErrors())
da sc immer noch 'null' ist. Ich bin nicht sicher, wie ich mit diesem Befehlsobjekt der inneren Klasse im Testfall umgehen soll. Der Testfall, den ich bisher geschrieben habe, ist:
class itemControllerTests extends ControllerUnitTestCase {
void testFind(){
def model = controller.find()
assertNotNull(model)
}
}
Wie gehe ich mit dem Befehlsobjekt der inneren Klasse im Testfall um? Verspotte ich es? Ich habe versucht, mockCommandObject (?) Zu verwenden, bin mir aber nicht sicher, wie ich das Befehlsobjekt der inneren Klasse an dieses übergeben soll?