2014-01-10 3 views
0

구성 XML 파일에서 생성 된 여러 HQL 쿼리 (~ 2000)가 있습니다.HQL 쿼리를 컴파일하는 방법을 테스트하는 방법은 무엇입니까?

물론이 모든 경우를 포괄하는 통합 테스트를 수행하는 것은 좋지만, 불행히도 이것은 회사가 테스트를 생각하는 것이 좋은 생각이라고 생각했던 시대 이전의 오래된 코드입니다.

이러한 모든 파일을 포함하는 전체 통합 테스트를 작성하는 것은 현재 범위를 벗어납니다. 그러나 이미 from SomeRandomUnmappedClass 또는 select propertyThatDoesNotExist from SomeClass과 같은 잘못된 쿼리를 생성하는 구성 파일을 생성하는 데 많은 도움이됩니다. 매개 변수를 설정하지 않고 실제 데이터베이스와 통신하지 않고 신속하게 "컴파일 검사"를 수행하면 트릭을 수행해야합니다. 그러나 어떻게이 일을 할 수 있습니까?

은 :

+0

왜 이상적으로 적합한 메모리 데이터베이스이다 HSQLDB (http://hsqldb.org/)를 사용하여 테스트 데이터베이스를 생성하지 (때때로 용액; - 너무나 명백하다) 테스트 목적. – Bohemian

+0

생성 된 쿼리에 매개 변수가있을 수 있으며 매개 변수 값이 없습니다. – yankee

답변

0

는 사실이 망할 간단하다 (BTW 나는 고대 최대 절전 모드 3.3.2에 끼 었어) : 당신이 HSQLDB와 최대 절전 모드 컨텍스트를 시작 통합 테스트를위한 설정을 가지고 있기 때문에 어쨌든 그냥 실행할 수 있습니다

session.createQuery(hql); 

이것은 쿼리 개체를 반환하고 일반적으로 매개 변수를 설정 한 다음 쿼리를 실행합니다. 그러나 createQuery-call 중에 원하는 검사가 이미 수행됩니다. 잘못된 것이 있으면 예외가 발생합니다. 매개 변수 설정 및 실행을 자르십시오!

관련 문제