문제

MSTest에서 hibernate.cfg.xml을 출력 디렉토리에 올바르게 복사한 경험이 있는 사람이 있습니까?모든 MSTest는 hibernate.cfg.xml을 찾을 수 없다는 오류로 인해 실패하지만(항상 복사로 설정되어 있음) MBUnit 테스트는 통과합니다.

도움이 되었습니까?

해결책

테스트 중 하나에 배포ItemAttribute를 추가해 보거나 .testrunconfig 파일을 편집하여 배포 목록에 파일을 추가할 수 있습니다.

다른 팁

localtestrun.testrunconfig를 편집합니다(솔루션 항목 폴더에 있음).배포 옵션을 선택하고 배포할 추가 파일 목록에 hibernate.cfg.xml 파일을 추가합니다.그런 다음 파일은 테스트가 실행되는 출력 디렉터리에 복사되어야 합니다.

몇 주 전에도 같은 일을 겪었습니다. 이것은 실제로 MSTest의 버그 -- 최근 수정된 것으로 생각됩니다. 서비스 팩 출시 (여전히 "활성"이라고 표시되어 있음에도 불구하고)그렇지 않은 경우 내가 해야 할 일은 hibernate.cfg.xml을 직접 참조하는 것뿐이었습니다(엉성하지만 테스트에는 작동합니다. 이는 "TestResults" 폴더에서 내 테스트 프로젝트의 hibernate.cfg.xml 파일을 참조하는 것입니다).

 try
           {
                sessionFactory = new Configuration()
                    .Configure()
                    .BuildSessionFactory();
            }
            // Assume we are in "MSTest mode"
            catch (Exception)
            {
                sessionFactory = new Configuration()
                    .Configure(@"..\..\..\Program.Tests\" + @"\hibernate.cfg.xml")
                    .BuildSessionFactory();
            }

답변보다는 해결 방법:NHibernate 지원 프로그래밍 방식의 구성.따라서 고유한 속성/구성 파일을 작성하고 시작 시 이를 최대 절전 모드 구성으로 구문 분석할 수 있습니다.

나는 NHibernate 구성 파일을 임베디드 리소스로 표시하고 어셈블리 리소스에서 구성 파일을 읽는 Configuration.Configure() 오버로드를 사용하는 것을 좋아합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top