3
일반 문자열 HQL 쿼리를 생성하는 HQL 쿼리 팩토리와 같은 것이 있습니다. 실제로 무엇인가를 통해 쿼리를 실행하여 데이터베이스와의 통합 테스트를 수행하지 않고 어떻게 구문 오류를 테스트 할 수 있습니까?유닛 테스트 HQL 쿼리
가장 좋은 옵션은 마법의 VerifyHql() 메서드를 호출하거나 어딘가에서 그것을 사용하여 의미있는 구문 분석 예외 또는 기타를 잡는 것입니다.
제이미, 요점이 있습니다! 데니스, 당신은 NHibernate 코드를 다운로드하고'HQL' 테스트를 관찰 할 수 있습니다. (..Testing * Data *는 HQL 테스트가 실행되기 전에 DB에서 플러시됩니다 ...) –
글쎄, 나는 아직도 그것이 어떤 시나리오에서는 의미가 있다고 생각합니다. 하나의 예는 동적으로 생성되는 고도로 복잡한 HQL 쿼리를 테스트하는 것입니다 (드물지만 매우 복잡한 HQL 쿼리를 처리해야합니다). 메모리 내 데이터베이스에 대해이 쿼리를 테스트하는 테스트에는 매우 많은 양의 테스트가 있지만 여전히 빠른 구문 테스트가 필요한 일부 값을 볼 수 있습니다. 매핑 된 모든 세부 사항에 대한 통합 테스트없이 매핑의 무결성을 검사하는 테스트가 가치가 있다고 말하면서 동일한 방향으로 나아갑니다. –