Pergunta

Alguém tem alguma experiência em fazer com que o MSTest copie hibernate.cfg.xml corretamente para o diretório de saída?Todos os meus MSTests falham com um erro não é possível encontrar o hibernate.cfg.xml (configurei-o para Copiar sempre), mas meus testes MBUnit foram aprovados.

Foi útil?

Solução

Você pode tentar adicionar o DeploymentItemAttribute a um de seus testes ou editar seu arquivo .testrunconfig e adicionar o arquivo à lista de implantação.

Outras dicas

Edite localtestrun.testrunconfig (na pasta de itens da solução).Selecione a opção de implementação e adicione o arquivo hibernate.cfg.xml à lista de arquivos adicionais para implementação.O arquivo deve então ser copiado para o diretório de saída onde o teste é executado.

Encontrei a mesma coisa há algumas semanas - na verdade é um bug com MSTest -- Acredito que isso foi corrigido com o recente Lançamento do Service Pack (mesmo que ainda diga "Ativo").Caso contrário, tudo o que tive que fazer foi referenciar meu hibernate.cfg.xml diretamente (desleixado, mas funciona para testes - isso está referenciando o arquivo hibernate.cfg.xml em meu projeto de testes da pasta "TestResults"):

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

uma solução alternativa em vez de uma resposta:Suporte NHibernate configuração programática.para que você possa escrever seu próprio arquivo de propriedades/configuração nativa e analisá-lo em configurações de hibernação na inicialização.

Gosto de marcar meus arquivos de configuração do NHibernate como recursos incorporados e usar a sobrecarga Configuration.Configure() que lê os arquivos de configuração dos recursos do Assembly.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top