Hat jemand diese Annotation in Grails Unit Tests verwendet? schien nicht für mich zu arbeiten. Danke. D@ExpectedException in Grails-Unit-Tests
Update: Die letzte Zeile meines Tests unten wirft die erwartete Ausnahme. Der Test schlägt jedoch fehl (Stack-Trace zu groß für hier ...). Ich verwende Grails 1.2 und führe den Test in Eclipse's Junit Runner durch. Vielleicht benutzt Grails eine frühere Version von Junit als 4?
/**
* Get the EC by a manager of a different company. Should throw exception
*/
@ExpectedException(ServiceAuthorizationException.class)
void testGetEcByNonOwnerManagerOfDifferentCompany() {
mockDomain(ExpenseClaim , [new ExpenseClaim(id:"1",narrative:"marksClaim", employee:userMark, company:dereksCompany)])
def authControl = mockFor(AuthenticateService)
authControl.demand.userDomain(1..1) {-> otherUserMgr }
authControl.demand.ifAllGranted(1..1) {String arg1 -> return "ROLE_COMPANYMANAGER".equals(arg1) } //returns true
def testService = new ExpenseClaimService()
testService.authenticateService = authControl.createMock()
def thrown = false
testService.getExpenseClaim("1")
}
Können Sie erklären, was Sie mit "nicht funktioniert" meinen? –
Hallo John, Danke für die Hilfe. Ja, mir fehlt ein bisschen Detail .... Ich füge eine Antwort hinzu, da ich es nicht in dieses Kommentarfeld einfügen kann. D – Derek
Ah ja es mit Junit 3.4.2. Ich denke, das funktioniert nur mit junit4. Ich denke, das ist die Antwort – Derek