Como inicializar coleção ConnectionStrings em NUnit
-
02-07-2019 - |
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!
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.