2009-05-30 5 views
7

Quando si tenta di eseguire Test di unità (più importante), mi imbatto in questo problema.
La riga di codice:app.configs e MSTest Project - riferimento null per una stringa di connessione

_mainCnStr = System.Configuration.ConfigurationManager. 
       ConnectionStrings["main"].ConnectionString; 

ritorna come un riferimento null

Non fa questo nel progetto principale dell'interfaccia utente quando l'eseguo. Qual è il metodo giusto per ottenere questa impostazione della stringa di connessione vista dal progetto Unit Test? Ho provato incorporato come risorsa. Ho provato a copiare sempre. Qual è la giusta combinazione di impostazioni che risolverà questo per me?

risposta

8

È necessario aggiungere un app.config al progetto di test dell'unità. Non utilizzerà automaticamente le impostazioni nell'interfaccia utente app.config.

+0

Non dovrei essere in grado di incorporare la mia configurazione nell'assieme. Pensavo di averlo visto prima. – BuddyJoe

+0

eh. L'ho copiato e continuo a ricevere l'errore. strano – BuddyJoe

+0

Fare clic con il tasto destro del mouse sul progetto di test, aggiungere un "File di configurazione dell'applicazione" e copiare il contenuto. Dovrebbe funzionare ... –

0

Suppongo che i test siano, come i test di nunit, incorporati in un assembly separato che viene caricato dall'applicazione di test? In tal caso, potrebbe essere necessario creare un codice di impostazione di prova che carichi nel file di configurazione.

9

Una cosa da guardare con MSTest (almeno dall'IDE); non esegue i test nella cartella di output regolare (bin) e non rispetta le inclusioni di file del progetto ("Copia nella directory di output"). Spesso è necessario comunicare esplicitamente (MSTest) quali file inserire nell'area di test. Dovrai includere "app.config" in questo elenco; tramite il testrunconfig ("Deployment") o aggiungendo un attributo ([DeploymentItem]) ai dispositivi di test interessati.

+2

Dopo aver inserito DeploymentItem ("db.config") nella parte superiore della classe di test, ha funzionato! Grazie. – Jirapong

Problemi correlati