2013-07-31 2 views
0

저는 Spring을 처음 사용합니다.유닛 테스팅 스프링 @Repository & Hibernate

이전에는 최대 절전 모드를 사용했습니다. 자동으로 sessionFactory를 얻을 수 있기 때문에 DAO를 쉽게 테스트 할 수 있습니다.

하지만 Spring (@Repositry 및 @Entity) 만 사용할 때.

.getHibernateTemplate()이 null을 반환하기 때문에 코드를 단위 테스트 할 수 없습니다.

hibernateSession이 초기화되지 않았다고 생각됩니다.

스프링에 대해 알고 싶습니다. 어떻게 데이터베이스에 대해 단위 테스트를 할 수 있습니까?

+0

최대 절전 모드 세션과 데이터 소스를 정의하는 스프링 컨텍스트 XML 파일로 응답을 업데이트 할 수 있습니까? 구성 할 때 xml을 사용하지 않는 경우 Config 클래스로 질문을 업데이트하십시오. –

답변

0

코드 예제없이 나는 추측 할 수 있습니다. 그러나 리포지토리/엔티티를 테스트하려면 단위 테스트 클래스에 스프링 컨텍스트를 초기화해야합니다.

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations="classpath:META-INF/test-context.xml") 
public class YourTestClass { 
    @Autowired 
    <<autowire your repository/sessionFactory>> 

} 

는 참고 : 테스트의 context.xml은 JavaConfig XML을 통해이 아니라 당신의 봄 콩을 구성한 가정합니다.