Ich habe eine folgende Funktion, die Einheit getestet werden. Aber ich weiß nicht, wie ich es genau testen soll. Ist es auch notwendig diese Funktionen zu testen? Ich benutze Grails 2.5.1 und spock 0.7. Bitte schlagen Sie vor.Grails spock Einheit Test für Redirect und render
def allGeneralNotes() {
def ben = Beneficiary.findById(params.id)
if(!ben){
redirect(controller: 'dashboard',action: 'index')
}
def generalNotes = Note.findAllByBeneficiaryAndTypeAndIsDeleted(Beneficiary.findById(params.id), NoteType.GENERAL,false).sort { it.dateCreated }.reverse()
def userNames = noteService.getUserName(generalNotes);
render view: 'generalNotes', model: [id: params.id, generalNotes: generalNotes, userNames:userNames]
}
Dies ist nicht auf Tests verwendet, aber Ihre Controller-Aktion wird ein Problem sein, weil Sie nicht nach dem Aufruf von 'redirect' kehren so zu' render' auf den Aufruf fließen, nachdem die Steuerung geht Aufruf 'Umleiten'. Sie sollten entweder nach 'redirect' zurückkommen oder Ihre' if {...} 'Logik reorganisieren, so dass sich alles unter dem' redirect' in einem 'else' Block befindet. –