Condividi tramite


Procedura: Eseguire il debug di oggetti di database

Uno unit test di SQL Server è costituito da:

Le procedure descritte in questo articolo descrivono come eseguire il debug di oggetti di database specifici, ad esempio stored procedure, funzioni e trigger nel database di cui si sta eseguendo il test. Per eseguire il debug di un oggetto di database, seguire queste procedure in questo ordine:

  1. Abilitare il debug di SQL Server nel progetto di test.
  2. Abilitare il debug dell'applicazione nell'istanza di SQL Server che ospita il database di cui si sta testando.
  3. Impostare i punti di interruzione nello script Transact-SQL degli oggetti di database di cui si sta eseguendo il debug.
  4. Eseguire il debug dello unit test. In questa procedura si esegue il test in modalità di debug.

Abilitare il debug SQL nel progetto di test

  1. Apri Esplora Soluzioni .

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di test e scegliere Proprietà.

    Verrà visualizzata una pagina delle proprietà con lo stesso nome del progetto di test.

  3. Nella pagina delle proprietà selezionare Debug.

  4. In Abilita debugger selezionare Abilita debug di SQL Server.

  5. Salvare le modifiche.

Impostare un timeout del contesto di esecuzione più lungo per consentire il debug del progetto di test.

  1. Scegliere Apri dal menu File e selezionare File.

  2. Passare alla cartella contenente il progetto di test e fare doppio clic sul app.config file.

    Il app.config file viene aperto nell'editor.

  3. Modificare il ExecutionContext nodo per aggiungere un timeout del comando, come nell'esempio seguente:

    <ExecutionContext
        CommandTimeout ="300" Provider="System.Data.SqlClient"
        ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
    
  4. Salvare le modifiche.

  5. Ricompila il progetto di unit test.

Importante

Se non si ricompila il progetto, le modifiche apportate a app.config non vengono applicate quando si eseguono gli unit test e il debug non riesce.

Aggiungere punti di interruzione allo script di Transact-SQL

  1. Nel menu Visualizza, apri Esplora oggetti di SQL Server.

  2. Sotto Connessioni dati, espandere il nodo del database da testare.

  3. Se accanto all'icona del database viene visualizzata una piccola "x" rossa, la connessione al database viene chiusa. In questo caso, fare clic con il pulsante destro del mouse sul database e scegliere Aggiorna. Potrebbe essere necessario specificare le credenziali per aprire la connessione al database.

  4. Espandi il nodo Viste, Stored Procedureo Funzioni per trovare l'oggetto di cui si vuole eseguire il debug.

  5. Fare doppio clic sull'oggetto di cui si vuole eseguire il debug.

  6. Selezionare la barra laterale grigia per impostare un punto di interruzione.

Eseguire il debug dello unit test di SQL Server

  1. Visual Studio 2010, apri la finestra Visualizzazione test (Test>Windows). In Visual Studio 2012, aprire la finestra Esplora Test.

  2. Fare clic con il pulsante destro del mouse sul test il cui script Transact-SQL esercita l'oggetto di database in cui hai impostato i punti di interruzione e selezionare Debug Selection.

    Il test viene eseguito in modalità di debug fino a quando non viene rilevato un punto di interruzione nell'oggetto di database.

  3. (Facoltativo) Per aprire un'altra finestra di debug, aprire il menu Debug , scegliere Windows e selezionare Punti di interruzione, Output o Immediato.