Pergunta

Eu quero testar aplicativo ASP.NET usando NUnit, mas parece WebConfigurationManager.ConnectionStrings coleção está vazia ao executar a partir NUnit GUI.

Você poderia me dizer como inicializar esta coleção (provavelmente em função [Setup] de [TestFixture])? Devo copiar Web.config somethere?

Obrigado!

Foi útil?

Solução

Se você tem a sua unidade-teste assembly chamado Company.Component.Tests.dll, em seguida, apenas certifique-se de que Company.Component.Tests.dll.config está lá com a seqüência de conexão adequada.

Além disso, ele pode ser uma boa idéia para dissociar sua classe provedor de conexão a partir da configuração, de modo que você terá flexibilidade na persistência (ou seja .: comutação de * .config para outra coisa) e teste mais fácil.

Também check out " Como NUnit localiza arquivos de configuração "

Outras dicas

NUnit .config local do arquivo depende de como você criou o arquivo de projeto NUnit

Onde config arquivos para testes NUnit estão localizados é um pouco mais complicado do que outros posts aqui sugerir. Há configurações para este no diálogo NUnit GUI Projeto / Editar. Os valores padrão tudo depende de como você criou seu arquivo de projeto NUnit.

Quando você abre o NUnit GUI e selecione Arquivo / Abrir e selecione um arquivo de .dll um novo projeto é configurado com configurações para procurar um arquivo de configuração com o mesmo nome que a dll no mesmo diretório. Então, se você carregado olhares \bin\debug\MyTests.dll NUnit para \bin\Debug\MyTests.dll.config por padrão. O único problema com isso é que quando você cria uma compilação de lançamento, você precisa criar um projeto NUnit separado.

Se você tiver criado o projeto NUnit selecionando Arquivo / NewProject em seguida, a configuração padrão é para procurar um arquivo de configuração com o mesmo nome que o projeto NUnit. Então, se você criou \MyNUnitProject.nunit NUnit procura \MyNUnitProject.config por padrão.

As chances são que você usou Visual Studio para criar um arquivo \App.config e colocou na pasta de origem para o seu dll de teste. Quando você buld seu projeto de teste este é copiado para \bin\Debug\MyTests.dll.config ou \bin\Release\MyTests.dll.config dependendo da configuração que você selecionou. Se você tiver aberto o mytest.dll diretamente no NUnit este trabalho muito bem a vontade, no entanto, se você tiver criado um novo projeto NUnit você está em apuros, pois não irá procurar esses arquivos por padrão.

Para resolver o problema que você precisa para abrir o diálogo Project / Editar no NUnit GUI e verifique se você tem duas configurações de depuração & liberação para combinar com seu projeto .Net. Depois de ter feito isso, você pode selecionar a configuração de depuração e definir o ApplicationBase para bin\Debug\ e definir a configuração Nome do arquivo para MyTests.dll.config. Faça o mesmo para a configuração de lançamento e você vai longe.

Você pode usar o app para bibliotecas (onde eu assumir seus testes são) e colocá-los lá dentro.

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