DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!


  Este é um post disponível para assinantes MVP
Você também pode acessá-lo através de Créditos DevMedia.  Clique aqui para saber mais!

Video: Iniciando teste dos Controllers - Curso ASP.NET MVC - Sistema de Vestibular - Parte 55

Nessa videoaula mostraremos como funciona o processo de teste dos controllers, iniciando pelo teste de um controller que retorna um view result.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Tempo: 18:22 min

Mini Resumo: Nessa videoaula mostraremos como funciona o processo de teste dos controllers, iniciando pelo teste de um controller que retorna um view result. Primeiramente mostraremos como preparar o ambiente, implementando qualquer dependência que se faça necessária para o controller, para na sequência implementar as ações e por fim as assertivas necessárias para garantir o funcionamento de nossa action.

Exemplos construídos: Teste da action Index do controller Vestibular.

Tecnologias e Recursos: Visual Studio 2010, ASP.NET MVC 3, Razor, Repository, Mock, Test, Injeção de Dependência, IOC

Este post faz parte do Curso ASP.NET MVC – Sistema de Vestibular

Henrylle Da Silva Maia
Henrylle Maia é Desenvolvedor .NET trabalhando na tecnologia desde 2005. É um profissional certificado MCP(70-480), da nova linha de certificações da Microsoft. Atualmente trabalha em projetos ágeis usando o XP como metodologia. Como ferramenta usa o Visual Studio 2012 e TFS 2012, usando como lingua...
O que você achou deste post?

    4 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Jairo Franco Lima Gomes
O nível do curso continua excelente. A didática e a objetividade do Henrylle realmente são muito boas.
[há +1 mês] - Responder

 

[autor] Henrylle Da Silva Maia
Muito obrigado Jairo. Fico feliz em saber que a didática está ajudando =).

Continue acompanhando.
[há +1 mês] - Responder
 

Cenisio
Meu teste VestibularControllerTest está falhando... fiz e refiz exatamente como explicado pelo Henrylle, mas o teste dá erro quando chega aqui: Assert.IsNotNull(result.Model) Porque o result está retornando null. Onde pode estar o erro?

Result Message:
Test method SisVest.Test.Controllers.VestibularControllerTest.Pode_Retornar_Todos_Vestibulares_Action_Index_Text threw exception:
System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.

Código do teste:
[TestInitialize]
public void TestInitialize()
{
mockVestibular = new Mock<IVestibularRepository>();
mockVestibular.Setup(a => a.Vestibulares).Returns(new[]
{
new Vestibular
{
iVestibularId = 1,
sDescricao = "Vestibular 2012.1",
dtInicioInscricao = new DateTime(2012,01,01),
dtFimInscricao = new DateTime(2012,01,31),
dtProva = new DateTime(2012,03,01)
},
new Vestibular
{
iVestibularId = 2,
sDescricao = "Vestibular 2012.2",
dtInicioInscricao = new DateTime(2012,07,01),
dtFimInscricao = new DateTime(2012,07,31),
dtProva = new DateTime(2012,09,01)
}
}.AsQueryable);

vestibularController = new VestibularController(mockVestibular.Object, null);
}

[TestMethod]
public void
Pode_Retornar_Todos_Vestibulares_Action_Index_Text()
{
//Ação
var result = vestibularController.Index() as ViewResult;

//Assertivas
Assert.IsNotNull(result.Model);
Assert.IsInstanceOfType(result.Model, typeof(List<Vestibular>));
Assert.AreEqual(2, ((List<Vestibular>)result.Model).Count);
Assert.AreEqual("Vestibular 2012.2",
((List<Vestibular>)result.Model).Where(v => v.iVestibularId == 1).FirstOrDefault().sDescricao);
}
[há +1 mês] - Responder

 

[autor] Henrylle Da Silva Maia
Olá Cenisio,

Tudo bem?!

Você já tentou debugar e ver qual parte do código de sua action está sendo executado durante a execução do teste?

Coloca um breakpoint na linha que executa a "//Ação" do seu teste e verifica.
[há +1 mês] - Responder
 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03