Partilhar via


Como: Depure 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 projetos ASP.NET para Web. Você também pode depurar seu código de produção ASP.NET enquanto um teste está sendo executado.

No entanto, quando você estiver 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 executa em qualquer processo do IIS, ou se seu site da Web for baseado em arquivo, em um processo ASP.NET Development Server. Como o teste é executado diferente, por exemplo, o processo de teste típicos, escolher a Debug Selection opção na janela Test View ou a Debug Checked tests opção no Editor de lista de teste não serve para depurar enquanto o teste é executado.

Da mesma forma, código de produção ASP.NET não pode ser executado até a posição do cursor a menos que a depuração esteja ativada e o depurador esteja anexado ao Development Server do ASP.NET ou ao 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, você use a caixa de listagem Location para escolher um local para o site da Web. 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.Solução de rede. As duas opções são o IIS e ASP.NET Development Server.

  • Depuração enquanto estiver executando o IIS

  • Depuração durante a execução do ASP.NET Development Server

Depuração enquanto estiver executando o IIS

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

Para depurar enquanto estiver executando um aplicativo ASP.Test NET no IIS

  1. Crie um projeto de site da Web ASP.NET que você deseje testar, e um teste de unidade ASP.NET para testá-lo.

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

  2. Habilite a depuração do 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: O projeto de site da Web em sua solução com o botão direito e clique em Add New Item.

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

  3. Na caixa de diálogo Add New Item, clique em Web Configuration File e clique 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: Habilite a depuração de ASP.NET Applications.

  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 teste de unidade ASP.NET e no código de produção para seu site da Web.

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

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

  7. Em Available Processes, localize o nome do processo ao qual você deseja anexar o depurador.

    Se o processo que você precisa não estiver sendo exibido, você pode exibir mais processos que estão sendo executados. Para fazer isso, verifique Show processes from all users e Show processes in all sessions.

  8. Em Available Processes, clique no nome do processo e clique Attach.

    Se não estiver sendo executado o processo ao qual você precisa anexar, clique em Cancelar e inicie o processo. Para fazer isso, no Solution Explorer, clique com o botão direito no projeto de site da Web e clique em View in Browser. Em seguida, clique em Debug e, em seguida, clique em Attach to Process mais uma vez; o processo inicia a execução e é exibido em Available Processes. Clique no nome processo e clique Attach.

  9. Inicie o teste.

    Para fazer isso, na janela Test View, clique com o botão direito do mouse no teste que você deseja depurar e selecione Debug Selection.

    ObservaçãoObservação

    Quando a execução de 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 o teste terminar, 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 você não deseja ter que reanexar o processo de cada vez. Se você tiver escolhido Run Selection, para separar o processo quando tiver terminado de depuração e escolha Stop Debugging da Debug menu ou pressione Shift + F5.

Depuração durante a execução do ASP.NET Development Server

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

  1. Crie um projeto de site da Web ASP.NET que você deseje testar, e um teste de unidade ASP.NET para testá-lo.

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

  2. Habilite a depuração do 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: O projeto de site da Web em sua solução com o botão direito e clique em Add New Item.

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

  3. Na caixa de diálogo Add New Item, clique em Web Configuration File e clique 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: Habilite a depuração de ASP.NET Applications.

  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 de 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 siga esta declaração de System.Diagnostics.Debugger.Break().

    ObservaçãoObservação

    No C++, essa afirmação é System::Diagnostics::Debugger::Break(). Para obter informações sobre como usar testes de unidade no Visual C++, consulte Testes de unidade e 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, na janela Test View, clique com o botão direito no teste que você deseja executar e selecione Run Selection.

  8. Assim que o teste é iniciada a execução, uma caixa de diálogo é exibida. Esta caixa de diálogo indica que o programa encontrou um ponto de interrupção.

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

    Visual Studioserá anexado ao processo, com execução em pausa na instrução System.Diagnostics.Debugger.Break(). Você pode escolher continuar 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 você tiver terminado a depuração. Caso contrário, a caixa de diálogo ponto de interrupção será exibido toda vez que você executar o teste.

Consulte também

Tarefas

Como: Depurar enquanto um teste é executado.

Outros recursos

Como: Habilite a depuração de ASP.NET Applications