Condividi tramite


Procedura: eseguire il debug durante l'esecuzione di un test in una soluzione ASP.NET

È possibile eseguire il debug degli unit test e dei test Web utilizzati per verificare i progetti Web ASP.NET.È anche possibile eseguire il debug del codice di produzione ASP.NET durante l'esecuzione di un test.

Tuttavia, quando si testa il codice ASP.NET, il codice del test non viene eseguito normalmente, nel processo host VSTestHost,ma viene eseguito nel processo IIS o, se il sito Web è basato su file, in un processo server di sviluppo ASP.NET.Poiché il test non viene eseguito in un normale processo di test, scegliendo l'opzione Esegui debug unit test dal menu Test il debug non viene eseguito durante l'esecuzione del test.

Analogamente, non è possibile eseguire le istruzioni per il codice di produzione ASP.NET a meno che il debug non sia attivato e il debugger non sia connesso al processo IIS o server di sviluppo ASP.NET.

In ognuna delle seguenti procedure viene creato un progetto di sito Web ASP.NET utilizzando la finestra di dialogo Nuovo sito Web,nella quale si utilizza la casella di riepilogo Percorso per scegliere un percorso per il sito Web.Questa scelta determina il processo al quale si connetterà in seguito il debugger e i passaggi completati per eseguire il debug durante l'esecuzione di un test in una soluzione ASP.NET.Le due opzioni disponibili sono IIS e il server di sviluppo ASP.NET.

  • Debug durante l'esecuzione in IIS

  • Debug durante l'esecuzione nel server di sviluppo ASP.NET

Debug durante l'esecuzione in IIS

Nella procedura seguente il debugger verrà connesso a un processo.Il nome del processo dipende dal sistema operativo in uso, perché il sistema operativo determina la versione di IIS installata.

Per eseguire il debug durante l'esecuzione di un test ASP.NET in IIS

  1. Creare un progetto di sito Web ASP.NET che si desidera verificare e uno unit test ASP.NET per verificarlo.

    Quando si crea questo progetto di sito Web, nella finestra di dialogo Nuovo sito Web selezionare HTTP o FTP come Percorso.In questo modo si garantisce che il processo host sia IIS.

  2. Attivare il debug nel progetto Web ASP.NET.Per eseguire questa operazione, modificare il file di configurazione Web del progetto.Se nel progetto è già presente un file Web.config, andare al passo 4.In caso contrario, aggiungerne uno ora: Aprire il menu di scelta rapida per il progetto del sito Web nella soluzione, e quindi scegliere Aggiungi nuovo elemento.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

  3. Nella finestra di dialogo Aggiungi nuovo elemento , fare clic su File di configurazione Web e quindi su Aggiungi.

    Un file Web.config viene aggiunto al progetto di sito Web.Per ulteriori informazioni sull'utilizzo dei file Web.config, vedere Procedura: attivare il debug per applicazioni ASP.NET

  4. Nel file Web.config modificare la riga <compilation debug="false"/> in <compilation debug="true"/>.

  5. Facoltativo: impostare i punti di interruzione nello unit test ASP.NET e nel codice di produzione del sito Web.

  6. Connettere il debugger a un processo in esecuzione.A questo scopo, scegliere Debug, quindi scegliere Connetti a processo.

    Verrà visualizzata la finestra di dialogo Connetti a processo.

  7. Sotto Processi disponibili individuare il nome del processo a cui si desidera connettere il debugger.

    Se il processo necessario non è visualizzato, è possibile visualizzare altri processi in esecuzione.A questo scopo, selezionare Mostra processi di tutti gli utenti e Mostra processi in tutte le sessioni.

  8. Sotto Processi disponibili fare clic sul nome del processo, quindi su Connetti.

    Se il processo al quale è necessario connettersi non è in esecuzione, fare clic su Annulla, quindi avviare il processo.A tale scopo, in Esplora Risorse, aprire il menu di scelta rapida del progetto del sito Web e quindi scegliere Visualizza nel browser.Fare quindi clic su Debug e poi nuovamente su Connetti a processo. Il processo verrà avviato e visualizzato in Processi disponibili.Fare clic sul nome del processo e poi su Connetti.

  9. Avviare il test.

    A tale scopo, selezionare il test del quale si desidera eseguire il debug in Esplora unit test e quindi dal menu Test, scegliere Esegui debug unit test e poi Test selezionati.

    [!NOTA]

    Quando si eseguono test, è possibile scegliere Esegui selezione anziché Esegui debug selezione.La differenza è che se si sceglie Esegui debug selezione, il debugger si disconnette automaticamente al termine del test, mentre se si sceglie Esegui selezione il debugger rimane connesso.L'opzione Esegui selezione potrebbe risultare più utile, soprattutto se si prevede di ripetere l'esecuzione del test diverse volte durante il debug e non si desidera riconnettere ogni volta il processo.Se si è scelto Esegui selezione, per disconnettere il processo al termine del debug scegliere Termina debug dal menu Debug o premere MAIUSC+F5.

Debug durante l'esecuzione nel server di sviluppo ASP.NET

Per eseguire il debug durante l'esecuzione di un test nel server di sviluppo ASP.NET

  1. Creare un progetto di sito Web ASP.NET che si desidera verificare e uno unit test ASP.NET per verificarlo.

    Quando si crea questo progetto di sito Web, nella finestra di dialogo Nuovo sito Web selezionare File system come Percorso.In questo modo si garantisce che il processo host sia il server di sviluppo ASP.NET.

  2. Attivare il debug nel progetto Web ASP.NET.Per eseguire questa operazione, modificare il file di configurazione Web del progetto.Se nel progetto è già presente un file Web.config, andare al passo 4.In caso contrario, aggiungerne uno ora: Aprire il menu di scelta rapida per il progetto del sito Web nella soluzione, e quindi scegliere Aggiungi nuovo elemento.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento.

  3. Nella finestra di dialogo Aggiungi nuovo elemento , fare clic su File di configurazione Web e quindi su Aggiungi.

    Un file Web.config viene aggiunto al progetto di sito Web.Per ulteriori informazioni sull'utilizzo dei file Web.config, vedere Procedura: attivare il debug per applicazioni ASP.NET

  4. Nel file Web.config modificare la riga <compilation debug="false"/> in <compilation debug="true"/>.

  5. Aggiungere l'istruzione System.Diagnostics.Debugger.Break() all'inizio dello unit test ASP.NET.

    [!NOTA]

    I punti di interruzione nel codice verranno raggiunti solo se seguono l'istruzione System.Diagnostics.Debugger.Break().

    [!NOTA]

    In C++ questa istruzione è System::Diagnostics::Debugger::Break().Per informazioni su come utilizzare gli unit test in Visual C++, vedere Unit Tests and C++.

  6. Impostare i punti di interruzione nello unit test ASP.NET e nel codice di produzione del sito Web.

  7. Avviare il test.

    A tale scopo, selezionare il test del quale si desidera eseguire il debug in Esplora unit test e quindi dal menu Test, scegliere Esegui debug unit test e poi Test selezionati.

  8. Non appena inizia l'esecuzione del test, verrà visualizzata una finestra di dialogoin cui si indica che il programma ha rilevato un punto di interruzione.

  9. Fare clic su Debug, scegliere l'istanza di Visual Studio caricata dalla soluzione, e quindi scegliere .

    Visual Studio si connetterà al processo, con l'esecuzione sospesa in corrispondenza dell'istruzione System.Diagnostics.Debugger.Break().È possibile scegliere Continua dal menu Debug o premere F5 per consentire il proseguimento dell'esecuzione fino al punto di interruzione successivo.

    [!NOTA]

    Assicurarsi di rimuovere l'istruzione System.Diagnostics.Debugger.Break() al termine del debug.In caso contrario, la finestra di dialogo relativa ai punti di interruzione verrà visualizzata ogni volta che si esegue il test.

Vedere anche

Attività

Procedura: eseguire il debug durante l'esecuzione di un test

Altre risorse

Procedura: attivare il debug per applicazioni ASP.NET