Conversando com um amigo ele disse que é difícil praticar teste, ele disse que ainda esta na faculdade e tem acesso apenas a versão express do Visual Studio, as versões express não suporta nenhum tipo de add-in,etc...
Para resolver esse problema existe varias opções de framework, mais vou falar somente do NUnit.O NUnit é uma framework para unit test open source para todas as linguagens .NET com a possibilidade de rodar os testes fora do Visual Studio, sendo assim o problema esta resolvido, você pode escrever os testes com as ferramentas express e depois rodar os testes com o NUnit, vamos ver como isso funciona na pratica.
Você precisa baixar o NUnit http://www.nunit.org/?p=download o setup inclui a framework de teste, outra de mock e um executável que vamos utilizar para rodar os testes, antes de iniciar vale uma olhada no Quick Start para conhece os atributos básicos http://www.nunit.org/index.php?p=quickStart&r=2.5.5 , feito isso crie um projeto ASP.NET MVC e um projeto do tipo Class Library que será o nosso projeto de teste, para esse exemplo estou utilizando o Microsoft Visual Web Developer 2010 Express, para o projeto Class Library (projeto de teste) siga os passos abaixo:
-
Adicione referência a DLL nunit.framework no projeto de teste, essa DLL esta dentro da pasta framework do diretório de instalação do NUnit, no meu caso ela ficou neste caminho C:\Program Files (x86)\NUnit 2.5.5\bin\net-2.0\framework\nunit.framework.dll
- Agora adicione as referências para o projeto ASP.NET MVC e para DLL System.Web.Mvc
- Agora é só escreve os testes veja um exemplo abaixo
[TestFixture]
public class HomeControllerTest
{
[Test]
public void Index()
{
// Arrange
HomeController controller = new HomeController();
// Act
ViewResult result = controller.Index() as ViewResult;
// Assert
ViewDataDictionary viewData = result.ViewData;
Assert.AreEqual("Welcome to ASP.NET MVC!", viewData["Message"]);
}
[Test]
public void About()
{
// Arrange
HomeController controller = new HomeController();
// Act
ViewResult result = controller.About() as ViewResult;
// Assert
Assert.IsNotNull(result);
}
}
Para rodar os teste você precisa abrir o NUnit, no menu Project selecionar Add Assembly , procure a DLL do projeto Class Library, selecione os teste que deseja executar e clicar em Run, veja o resultado na imagem abaixo
Amigos é isso ai, motivos para testar você tem mais de mil, framework para teste não falta, então vamos testar!
Antes de finalizar vou deixar alguns links com outras opções, eu gosto muito do MbUnit http://www.mbunit.com/, com o Gallio fica melhor ainda http://www.gallio.org/ e para executar os testes a partir do Visual Studio você pode utilizar o TestDriven.NET http://www.testdriven.net/. Nem precisa dizer que o TestDriven.NET não funciona com as versões express
Baixe aqui o projeto de exemplo é até a próxima!
Daniel Fonseca Castro