Compartilhar via


Como: Depurar ao executar um teste em um aplicativo ASP.Solução de NET

Você pode depurar testes de unidade e testes da Web que você está usando para testar o ASP.NET Web projects.Você também pode depurar seu aplicativo ASP.NET enquanto um teste está sendo executado.

No entanto, quando você está testando ASP.NET código, o código de teste não executado da maneira típica, sob o processo de execução VSTestHost.Em vez disso, ele é executado em qualquer processo do IIS, ou se seu site da Web é baseado em arquivo, em um aplicativo ASP.Processo NET Development Server.Como o teste é executado em diferente do processo de teste típicos, escolher o Depurar testes de unidade opção de menu Test não depurar enquanto o teste é executado.

Da mesma forma, o ASP.Código de produção NET não pode ser ele apresentado na menos que a depuração está ativada e o depurador é anexado ao ASP.NET Development Server ou o processo do IIS.

Em cada um dos procedimentos a seguir, você pode criar um aplicativo ASP.Projeto de site da Web do NET usando o Novo Site da Web caixa de diálogo.Na caixa de diálogo, use o local caixa de listagem para escolher um local para o site.Essa opção determina o processo ao qual você posteriormente irá anexar o depurador e as etapas seguidas para depurar ao executar um teste em um aplicativo ASP.NET solution.As duas opções são IIS e ASP.NET Development Server.

  • Depuração durante a execução no IIS

  • Depuração enquanto estiver executando o ASP.NET Development Server

Depuração durante a execução no IIS

No procedimento a seguir, você irá anexar o depurador a um processo.O nome do processo depende do sistema operacional que você está usando, porque o sistema operacional determina a versão do IIS está instalado.

Para depurar ao executar um aplicativo ASP.Teste NET no IIS

  1. Crie um aplicativo ASP.NET Web site projeto que você deseja testar e um aplicativo ASP.Teste de unidade de rede para testá-lo.

    Quando você cria um projeto de site, no Novo Site da Web caixa de diálogo Selecionar HTTP ou FTP como o local.Isso garante que o processo de host será o IIS.

  2. Ative a depuração no ASP.Projeto da Web do NET.Para fazer isso, edite o arquivo de configuração do projeto da Web.Se o projeto já tiver um arquivo Web. config, vá para a etapa 4.Se não, adicionar uma agora: Abra o menu de atalho para o projeto de site da Web na sua solução e escolha Adicionar Novo Item de.

    A caixa de diálogo Add New Item é exibida.

  3. No Adicionar Novo Item caixa de diálogo caixa, escolha Web Configuration File e escolha Add.

    Um arquivo Web. config é adicionado ao seu projeto de site da Web.Para obter mais informações sobre como usar arquivos Web. config, consulte como: Ativar depuração de ASP.NET aplicativos.

  4. No arquivo Web. config, altere a linha que lê <compilation debug="false"/> para <compilation debug="true"/>.

  5. (Opcional) Definir pontos de interrupção no ASP.NET e no código de produção para seu Web site.

  6. Anexe o depurador ao processo do IIS.Para fazer isso, escolha Debug e escolha Attach to Process.

    O Attach to Process caixa de diálogo é exibida.

  7. Em Processos disponíveis, localize o nome do processo ao qual você deseja anexar o depurador.

    Se o processo que você precisa não for exibido, você pode exibir mais processos que estão executando.Para fazer isso, verifique Mostrar processos de todos os usuários e Show processes in all sessions.

  8. Em Processos disponíveis, escolha o nome do processo e escolha Attach.

    Se não estiver executando o processo para o qual você precisa anexar, escolha Cancelar e inicie o processo.Para isso, no Solution Explorer, abra o menu de atalho para o projeto de site da Web e escolha Exibir no navegador.Em seguida, escolha Debug e escolha Attach to Process mais uma vez; o processo foi iniciado em execução e é exibido em Processos disponíveis.Escolha o nome do processo e escolha Attach.

  9. Inicie o teste.

    Para fazer isso, selecione o teste que você deseja depurar no Explorer de teste de unidade e do teste menu, escolha Depurar testes de unidade e Selected Tests.

    ObservaçãoObservação

    Ao executar os testes, você pode escolher Run Selection em vez de Debug Selection.A diferença é que, se você escolher Debug Selection, o depurador se separa automaticamente após concluir o teste, mas se você escolher Run Selection, o depurador permanece anexado.Você pode encontrar Run Selection mais útil, especialmente se você planeja executar novamente o teste várias vezes durante a depuração e não deseja ter que reanexar o processo de cada vez.Se você escolheu Run Selectionpara desanexar o processo quando tiver terminado de depuração, escolha Parar depuração do Debug menu ou pressione Shift + F5.

Depuração enquanto estiver executando o ASP.NET Development Server

Para depurar ao executando um teste no ASP.NET Development Server

  1. Crie um aplicativo ASP.NET Web site projeto que você deseja testar e um aplicativo ASP.Teste de unidade de rede para testá-lo.

    Quando você cria um projeto de site, no Novo Site da Web caixa de diálogo, selecione sistema de arquivos como o local.Isso garante que o processo de host será o ASP.NET Development Server.

  2. Ative a depuração no ASP.Projeto da Web do NET.Para fazer isso, edite o arquivo de configuração do projeto da Web.Se o projeto já tiver um arquivo Web. config, vá para a etapa 4.Se não, adicionar uma agora: Abra o menu de atalho para o projeto de site da Web na sua solução e escolha Adicionar Novo Item de.

    A caixa de diálogo Add New Item é exibida.

  3. No Adicionar Novo Item caixa de diálogo caixa, escolha Web Configuration File e escolha Add.

    Um arquivo Web. config é adicionado ao seu projeto de site da Web.Para obter mais informações sobre como usar arquivos Web. config, consulte como: Ativar depuração de ASP.NET aplicativos.

  4. No arquivo Web. config, altere a linha que lê <compilation debug="false"/> para <compilation debug="true"/>.

  5. Adicione a instrução System.Diagnostics.Debugger.Break() ao início do seu aplicativo ASP.Teste de unidade de rede.

    ObservaçãoObservação

    Pontos de interrupção em seu código serão atingidos somente se eles seguirem esta instrução System.Diagnostics.Debugger.Break().

    ObservaçãoObservação

    No C++, essa afirmação é System::Diagnostics::Debugger::Break().Para obter informações sobre como usar testes unidade no Visual C++, consulte Unit Tests and C++.

  6. Definir pontos de interrupção no ASP.NET e no código de produção para seu Web site.

  7. Inicie o teste.

    Para fazer isso, selecione o teste que você deseja depurar no Explorer de teste de unidade e do teste menu, escolha Depurar testes de unidade e Selected Tests.

  8. Assim que o teste é iniciado executar, aparece uma caixa de diálogo.Esta caixa de diálogo indica que o programa encontrou um ponto de interrupção.

  9. Escolha Debug, escolha a instância de Visual Studio que tem sua solução carregada e escolha Sim.

    Visual Studioserá anexado ao processo, com execução em pausa na instrução System.Diagnostics.Debugger.Break().Você pode escolher continuar partir do menu Debug ou pressione F5 para permitir a execução de continuar seu próximo ponto de interrupção.

    ObservaçãoObservação

    Ser-se de remover a instrução de System.Diagnostics.Debugger.Break() quando tiver terminado de depuração.Caso contrário, a caixa de diálogo ponto de interrupção aparecerá sempre que você executar o teste.

Consulte também

Tarefas

Como: depurar enquanto um teste é executado.

Outros recursos

Como: Ativar depuração de ASP.NET aplicativos