Testes de unidade ASP.NET Web Services
Existem algumas diferenças entre os testes de unidade para classes e os de ASP.NET Web services. Mais importante, seu projeto deve conter um arquivo. aspx. Este tópico explica como fazer isso e também descreve o que acontece em seu projeto teste quando você cria um teste de unidade para um aplicativo ASP.NET Web Service.
Para obter mais informações sobre como executar testes de desempenho em sites da Web, consulte Criando e editando testes de desempenho de Web. Para obter mais informações sobre testes de unidade para classes, consulte Como: Criar e executar um teste de unidade.
Pré-requisitos
Certifique-se de que você tenha instalado os seguintes componentes do IIS:
IIS 6 Metabase e IIS 6 Configuration Compatibility
Certifique-se de que há um arquivo. aspx em seu projeto.
Para um teste de unidade executar, deve haver um arquivo. aspx no projeto que contém o seu aplicativo ASP.Serviço da Web do NET. Sem um arquivo. aspx, aparentemente, você pode criar testes de unidade, mas quando você tenta executá-los, você receberá um erro que diz que a solicitação da Web foi concluída com êxito. No entanto, o teste não foi realmente executada.
Para adicionar um arquivo. aspx
Em Solution Explorer, clique com o botão direito no projeto que contém o seu aplicativo ASP.NET Web service, clique em Adde em seguida, clique em Novo Item.
No Add New Item caixa de diálogo, em Modelos instalados, clique em Web.
Na lista de modelos da Web, clique em Formulário da Webe em seguida, clique em Add.
Três novos arquivos são adicionados ao seu projeto: WebForm1. aspx, WebForm1 e WebForm1.aspx.designer.cs. Você não precisará modificar ou usar esses arquivos.
O que acontece quando você gerar um teste de unidade para um aplicativo ASP.NET Web service
A figura a seguir mostra um método de teste que é gerado para uma página ASP.Projeto de serviço da Web do NET. Para obter informações sobre as alterações mais gerais que ocorrem quando você cria um teste de unidade, consulte Anatomia de um teste de unidade.
Método de teste de unidade do ASP.NET
Todos os testes de unidade são gerados com um atributo [TestMethod ()].
O atributo [tipo de Host ()] Especifica o adaptador de host que o teste de unidade será executado no. Não é necessário alterar este atributo.
O atributo [AspNetDevelopmentServerHost()] Especifica as configurações para usar quando uma página ASP.NET Development Server é o servidor de host para o teste. Este atributo só é incluído se seu aplicativo ASP.NET Web service está em execução no sistema de arquivos em vez de um processo do IIS. Não é necessário alterar este atributo.
O atributo [UrlToTest()] Especifica a URL do ASP.Serviço NET da Web de teste de unidade.
O restante é o corpo do método de teste. Você provavelmente deseja inicializar as variáveis e editar o Asserts no método de teste.
Observação |
---|
Para obter mais informações sobre os atributos descritos aqui, consulte |
Se você estiver executando o Windows Vista, execute o Visual Studio como administrador
Se você estiver executando Windows Vista, você deve executar Visual Studio como um administrador para executar o ASP.Testes de unidade NET. Se você executar o Visual Studio como um usuário normal, você pode criar um site e criar e executar o ASP.NET testes, mas os testes irá falhar. Para executar Visual Studio como administrador, clique com o botão direito Microsoft 2010 de Visual Studio na Iniciar menu e clique Executar como administrador.
Se você executar o IIS como um usuário não-padrão, certifique-se de que você habilite as permissões necessárias
Quando você cria um aplicativo ASP.NET Web service, você escolher um local de um Sistema de arquivos ou HTTP ou FTP. Se você escolher o sistema de arquivos, em seguida, o ASP.NET Development Server processo é usado. Se você escolher HTTP ou FTP, o processo do IIS é usado.
Se seu aplicativo ASP.NET Web service está em execução no processo do IIS, você pode optar por executar o teste de unidade como um usuário não-padrão de segurança. Um usuário não-padrão é uma identidade de processo diferente.
Por exemplo, se o ASP.NET Web service deve acessar recursos no computador como, por exemplo, um banco de dados, arquivos ou pastas, você pode escolher executá-lo para que suas permissões sobre esses recursos são exatamente o suficiente e não mais.
Se o serviço da Web requer permissão do usuário não-padrão não tem, o teste de unidade pode falhar. Por exemplo, o ASP.NET do Windows que está executando como um usuário não padrão pode ter permissões restritas, mas ainda pode tentar gerar arquivos temporários na pasta %WINDIR%\Temp. Falhará se as permissões padrão nos %WINDIR%\Temp não permitem o acesso suficiente do processo gerar esses arquivos. Nesse caso, para a execução de teste de unidade tenha êxito, você teria que conceder as permissões mais altas de processo para a pasta %WINDIR%\Temp.
Consulte também
Referência
Microsoft.VisualStudio.TestTools.UnitTesting