Mi sto solo utilizzando VS2008 per scrivere le stored procedure clr per SQL 2008. Quando si scrive codice C# sono abituato ad avere un "Progetto Test" separato dove metterei tutti i miei codice di test unitario, tuttavia appare a prima vista che non posso avere la stessa impostazione con un progetto clr sql con stored procedure. E 'come se questo potesse essere fatto, e mi mancano un paio di parametri di configurazione, ma non sono sicuro di cosa potrebbero essere.CLR SQL stored procedure test con Unit Test Project
Sto usando
- Visual Studio 2008
- MS test
- MS SQL 2008
miei requisiti sono:
- di debug stored procedure in Visual studio debugger
- avere un gruppo di unit test per testare le stored procedure
Qualcuno sa come posso avere il progetto di test unità depoly correttamente le stored procedure al server, collegare fino al server SQL, e mi permettono di passare attraverso il test dell'unità alle procedure memorizzate che si trovano sul server?
**** **** UPDATE
Grazie a tutti per le risposte finora, ma non sono excatly quello che sto cercando.
Mark Seemann's risposta di seguito è un approccio interessante che non sapevo, e sicuramente userò quando si tratta di ripristinare il mio database a uno stato conosciuto. Tuttavia, sto cercando di eseguire il debug delle stored procedure CLR e non sembra che il metodo di Mark mi consenta di passare dal mio progetto di test dell'unità, al server SQL e di eseguire il debug del codice che si trova sul server.
Sto cercando di eseguire il debug del C# sul server, molto simile alla soluzione pho3nix elencata di seguito. Tuttavia, utilizzando questo approccio standard è necessario scrivere gli script di test utilizzando un file "Test.sql" e non utilizzando un progetto di test unitario da Visual Studio.
Spero di poter avere due progetti nella mia soluzione, uno per le mie stored procedure CLR e uno per il mio progetto di test dell'unità. Quando voglio eseguire i miei test nel mio progetto di test dell'unità, spero che tutte le modifiche apportate al mio progetto di procedura memorizzata CLR vengano pubblicate sul server, il progetto di test inizi l'esecuzione e se imposto un punto di interruzione nel CLR stored procedure quando il test dell'unità inizia a testare la procedura memorizzata che si interromperà sul server e posso quindi scorrere il codice.
La soluzione più vicina che ho trovato finora è Alex Kuznetsov and Alex Styler, tuttavia utilizzando questa soluzione non posso passare al server SQL.
**** **** UPDATE 2
Questo è più di un 'urto' per portare questa domanda back up ... Ho ancora avuto fortuna di lancio per il server SQL dall'unità test. Qualche altro pensiero?