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, quando si sceglie Esegui debug selezione nella finestra Visualizzazione test o Debug test selezionati nell'Editor elenco dei 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: fare clic con il pulsante destro del mouse sul progetto del sito Web nella soluzione, quindi scegliereAggiungi 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, 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, fare clic su Debug, quindi su 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 questo scopo, in Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di sito Web e 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 su Connetti.

  9. Avviare il test.

    A questo scopo, nella finestra Visualizzazione test fare clic con il pulsante destro del mouse sul test di cui si desidera eseguire il debug e scegliere Esegui debug selezione.

    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: fare clic con il pulsante destro del mouse sul progetto del sito Web nella soluzione, quindi scegliereAggiungi 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, 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 test e 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 questo scopo, nella finestra Visualizzazione test fare clic con il pulsante destro del mouse sul test da eseguire e scegliere Esegui selezione.

  8. Non appena inizia l'esecuzione del test, verrà visualizzata una finestra di dialogo in 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, 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