我试图使用easyMock编写一个测试,在下面的代码中测试SecurityException。
例如:对于NumberFormatException,我使用以下内容。
( EasyMock.expect(mockEntityManager.find(UserProfile.class,“abc”).andThrow(新的NumberFormatException();
对于希望抛出什么SecurityException有什么想法吗?
公共对象getAsObject(FacesContext facesContext,UIComponent uiComponent,String s) { (EntityManager)Component.getInstance("entityManager");EntityManager entityManager = 如果(s == null s.equals("null")) {返回null;} catch { try { long I= Long.parseLong(s);返回entityManager.find(UserProfile.class,i);} catch (NumberFormatException e) { logger.error( e);}catch (SecurityException E){ logger.error(e);})返回空;}
发布于 2011-10-25 19:05:39
谢谢你的responses..here是我所期待的SecurityException。
MyClass abc = new MyClass();
EasyMock.expect(mockEntityManager.find(MyClass.class,111L)).andThrow(new SecurityException());
EasyMock.replay(mockEntityManager);
Object target = abc.getAsObject(mockFacesContext, mockUiComponent,"111");
Assert.assertEquals(null, target);发布于 2011-09-28 16:56:23
我觉得您还没有编写这段代码,这就是为什么您想知道什么可能会抛出SecurityException。只要您使用的是EntityManager的良好实现,答案就是什么。
EntityManager.find()在这里输入链接描述的文档版本不会抛出SecurityException。但如果在使用自定义EntityManager版本的J2EE应用服务器中运行该代码,则可能会抛出该异常.但我觉得不应该。
https://stackoverflow.com/questions/7585098
复制相似问题