Qual é a melhor maneira de fazer testes de unidade para as páginas Web ASP.NET 2.0?

votos
32

Alguma sugestão? Usando o Visual Studio em C #.

Existem algumas ferramentas específicas para a utilização ou métodos de abordar esta questão?

Atualizar:

Desculpe, eu deveria ter sido um pouco mais específico. Eu estou usando ASP.Net 2.0 e estava procurando mais por uma ferramenta como jUnit para Java. Eu dei uma olhada no NUnit e NUnitAsp e que parece muito promissor. E eu nem sabia que o Visual Studio Pro tem um conjunto de testes, então eu vou olhar para todas estas opções (Eu apenas comecei usando o Visual Studio / Asp.net / C # neste verão).

Publicado 07/08/2008 em 04:23
fonte usuário
Em outras línguas...                            


7 respostas

votos
33

Rapaz, isso é uma pergunta muito geral. Vou fazer o meu melhor, mas estar preparado para ver me perca por uma milha.

Premissas

  1. Você está usando ASP.NET, ASP não plain
  2. Você realmente não quiser testar suas páginas da web, mas a lógica por trás deles. Unidade testando as páginas.ASPX reais é bastante doloroso, mas há quadros lá fora, para fazê-lo. NUnitAsp é um deles.

A primeira coisa a fazer é organizar (ou plano) seu código para que ele possa ser testado. Os dois padrões de design mais populares para isso no momento parece ser MVP e MVC. Ambos separar a lógica da aplicação longe da vista de modo que você pode testar a lógica sem a vista (páginas web) ficar em seu caminho.

Ou MVP ou MVC será eficaz. MVC tem a vantagem de ter um quadro Microsoft quase pronto para ir .

Depois de selecionar um padrão de estrutura que incentiva a capacidade de teste, você precisa usar uma ferramenta de teste de unidade. NUnit é um bom ponto de partida. Visual Studio Professional tem um conjunto de teste construiu , mas NUnit + TestDrive.NET também funciona no IDE.

Isso é uma espécie de tiro de espingarda de informações. Espero que alguns se bate. A Pragmatic Bookshelf tem um bom livro cobrindo o tópico .

Respondeu 07/08/2008 em 05:23
fonte usuário

votos
5

Houve uma série de screencasts ou menos um ano atrás, em polimórfica Podcast que fez um bom passo a passo introdução de uma implementação MVP em ASP.NET. Implementado desta forma, testes de unidade cair no lugar muito mais naturalmente.

http://polymorphicpodcast.com/shows/mv-patterns/

Respondeu 07/08/2008 em 05:50
fonte usuário

votos
4

Estes quadros são úteis para a integração de testes, mas eles não podem fornecer testes de unidade, ou seja, testar a exibição isolada de persistência, a lógica de negócios, seja qual for.

Por unidade de teste Asp.Net Webforms, bem como MVC, você pode usar Ivonna . Por exemplo, você pode zombar o seu acesso de banco de dados e verificar se os registros zombaram são exibidos na grade de dados. Ou você pode zombar o provedor de associação e testar o registrado no cenário sem ter que navegar até a página de login e inserir suas credenciais, como acontece com os testes de integração.

Respondeu 21/10/2008 em 21:35
fonte usuário

votos
3

WatiN é o melhor que eu encontrei. Ele se integra ao teste de unidade do Visual Studio ou nunit e você pode fazer praticamente qualquer coisa que você precisa no browser (clique nos links, enviar formulários, procure texto / imagens, etc.), além de que é escrito em .net, assim você não precisa ter rubi instalado (como você faz para Watir, que é uma ferramenta incrível nenhum a menos)

Respondeu 23/09/2008 em 02:10
fonte usuário

votos
2

Sua melhor aposta é separar a lógica do modelo de apresentação e completamente unidade testar o modelo com NUnit ou similar. Testando a interação usuários com a página web pode ser complicadas.

Se você realmente quer unidade testar a interação usuários com a página web algumas das ferramentas afformentioned como waitn parece bom, um complemento ao que eu já ouvi falar é Selenium

Respondeu 30/06/2009 em 06:05
fonte usuário

votos
2

Dê uma olhada em http://selenium.openqa.org/ ele oferece uma boa maneira automatizada para construir testes de unidade enganchando no navegador. há um bom plugin do Firefox para a gravação de testes e pode utilizar praticamente qualquer framework de testes unitários. Tivemos uma apresentação / demonstração no nosso local de reunião do grupo de usuários no mês passado e parecia incrível.

Respondeu 28/08/2008 em 03:26
fonte usuário

Respondeu 28/08/2008 em 03:20
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more