2012-05-03 4 views
0

NHibernate에서 단위 테스트를 실행하기 위해 show_sql을 켰습니다. 각 단위 테스트는 데이터베이스를 지우고 다시 채 웁니다. 결과적으로 NHibernate가 출력하지 못하도록하는 많은 SQL 쿼리가 생성됩니다.프로그래밍 방식으로 SessionFactory를 다시 만들지 않고 show_sql을 설정 하시겠습니까?

SessionFactory을 파괴하지 않고 show_sql을 제어 할 수 있습니까? 가능하면 테스트를 위해 설정을 실행할 때이 기능을 끄고 테스트 본문이 실행되기 시작하면 다시 켜십시오.

이것이 가능합니까?

답변

1

설정할 수있는 곳은 NHibernate.Cfg.Configuration입니다. Configuration에서 SessionFactory을 만들었 으면 구성 설정에 액세스 할 수있는 방법이 없습니다. 팩토리 패턴을 사용하는 이유 중 하나는 런타임에 의해 성공적으로 빌드 된 인스턴스가 제대로 작동하지 않도록하는 것입니다. 재구성 또는 잘못 구성.

정말로이 기능이 필요한 경우 NH 소스 코드를 얻고 show_sql 설정이 평가되는 위치를 찾으십시오.

1

또 다른 옵션은 NHProf을 사용하고 테스트 할 때 NHProf를 초기화하는 것만 큼 좋지 않을 수도 있습니다.

NHProf는 사용 된 쿼리 만 데이터베이스 설정/지우기를 기록하지 않습니다.

관련 문제