Bất kỳ ai sử dụng chú thích này trong các bài kiểm tra đơn vị grails? Dường như không làm việc cho tôi. Cảm ơn. D@ExpectedException trong thử nghiệm đơn vị grails
Cập nhật: dòng cuối cùng của thử nghiệm của tôi dưới đây sẽ ném ngoại lệ dự kiến. Tuy nhiên, kiểm tra không thành công (Stack trace quá lớn cho ở đây ...). Tôi đang sử dụng grails 1.2 và chạy thử nghiệm trong runner junit của eclipse. Có lẽ grails đang sử dụng phiên bản cũ hơn của junit hơn 4? Chỉ
/**
* 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")
}
Bạn có thể giải thích ý của mình bằng cách "không hoạt động" không? –
Xin chào John, Cảm ơn sự giúp đỡ. Có, tôi thiếu một chút chi tiết ở đó .... Tôi sẽ thêm câu trả lời vì tôi không thể trả lời trong hộp nhận xét này. D – Derek
Ah có sử dụng junit của nó 3.4.2. Tôi nghĩ rằng điều này chỉ hoạt động với junit4. Tôi nghĩ đây là câu trả lời – Derek