2013-03-23 2 views
0

서블릿 코드 조각입니다. 나는 그것을 어떻게 모의로 커버 할 수 있을지 전혀 모른다. ServletConfig, LoginServiceFactory 및 LoginService와 같은 모의 객체를 만들었지 만 Class.forName에 대한 모의 작성 방법을 모르겠습니다. 이것은 정적 메서드이고, newInstance 나 getConstructor와 같은 다른 메서드입니다. 나는 lsf.getClass()를 호출하려고 시도했다. newInstance()는 mock에서 기대했지만 작동하지 않았다. 어떻게 해결할 생각이 있습니까? 미리 감사드립니다.EasyMock 서블릿 리플렉션

public void init(ServletConfig config) throws ServletException { 
     super.init(config); 
     try { 
      String loginServiceFactoryName = config 
        .getInitParameter("LoginServiceFactory"); 
      LoginServiceFactory lsf = (LoginServiceFactory) 
      Class.forName(loginServiceFactoryName).getConstructor().newInstance(); 
      UserDataBase db = lsf.getUserDataBase(); 
      Encoder encoder = lsf.getEncoder(); 
      loginService = new LoginService(db, encoder); 

} 

답변

0

는 지금은이 문제에 대해, 내가 LoginServiceFactory의 구현을 작성해야합니다 및 인터페이스 LoginServiceFactory를 구현 whitch 내 클래스의 이름이있을 것이다 초기화 매개 변수 있도록 반사하여 검색 답변을 알고있다.