Blog Stats
  • Posts - 171
  • Articles - 1
  • Comments - 197
  • Trackbacks - 5

 

Initialize Sql Data in Visual Studio Test Project

Sto testando Entity Framework 4 (.NET 4 beta 2) con le relative Self-Tracking entities(dalla CTP 2) ed ho pensato di testare tramite un progetto di Unit Test.

Sto usando Visual Studio 2010, ma la stessa cosa vale anche per la versione 2008.

Nel testare direttamente un DAL e comunque in linea di principio se vogliamo testare dati che stanno realmente su un database(e quindi senza ricorrere a sistemi di mocking) è necessario poter lanciare uno script sql che all’inizio dei test prepari l’ambiente sul database(potresse essere valida anche l’esecuzione di uno script di cleanup alla fine del test).

Se create un progetto di tipo Test Project con VS, e fate doppio click su file .testrunconfig(vs2008) oppure .testsettings(vs2010) potete impostare una serie di configurazione per lo Unit Test tra cui “Setup and Cleanup Scripts”.

In “Setup and Cleanup Scripts” potete andare ad impostare un vostro file .bat che contiene internamente l’esecuzione di uno script sql tramite il comando SqlCmd.

Ho trovato queste indicazioni qui, metre qui riferimenti all’uso di SqlCmd.

Spero sia utile.

del.icio.us Tags: ,


Feedback

# re: Initialize Sql Data in Visual Studio Test Project

Gravatar > se vogliamo testare dati che stanno realmente su un database(e quindi senza ricorrere a sistemi di mocking) è necessario poter lanciare uno script sql che all’inizio dei test prepari l’ambiente sul database(potresse essere valida anche l’esecuzione di uno script di cleanup alla fine del test)

Sempre se applicabile al tuo specifico scenario, un modo relativamente semplice e' wrappare il tutto in una transazione e fare il rollback alla fine.

Ciao,

-LV
17/12/2009 00:28 | LudovicoVan

# re: Initialize Sql Data in Visual Studio Test Project

Gravatar Nel mio caso non era applicabile, ma rimane comunque una possibile soluzione.
Diciamo che con uno script sql di inizializzazione posso popolare il database con dei dati che servono per il test, oltre che ripulirlo.
17/12/2009 00:57 | Luca

# re: Initialize Sql Data in Visual Studio Test Project

Gravatar nella 2010 puoi creare i data generation plan e gli uni test del DB con la premium, ma eseguirli anche con la professional 17/12/2009 22:17 | Lorenzo Barbieri

# re: Initialize Sql Data in Visual Studio Test Project

Gravatar Grazie della info,Lorenzo...andrò a darci un'occhiata.. 04/01/2010 10:58 | Luca

Comments have been closed on this topic.
 

 

Copyright © Luca Mauri