Breno Ferreira

Opniões e códigos de um desenvolvedor de software .NET.

Posts Tagged ‘silverlight

Unit Test Framework para Windows Phone 7 Mango

with 3 comments

Olá pessoal,

Recentemente comecei a desenvolver uma aplicação para Windows Phone 7 e, como uma boa pessoa, comecei a escrever testes. Mas, quando fui rodar os teste, descobri que o MSTest, framework de testes da Microsoft que vem nativamente no Visual Studio, não suporta código feito para o Window Phone 7.

Então comecei a caçar algum framework na internet, e achei esse do Jeff Wilcox. Ele foi feito, originalmente para Silverlight, mas também possui suporte para Windows Phone 7, inclusive para o SDK novo do Mango.

Para utilizá-lo é bem simples, basta fazer o download dos bits aqui. Depois de baixado o framework, crie no Visual Studio uma “Windows Phone Application” e referencie as duas dlls abaixo:

Silverlight Unit Test Framework DLLs

Depois disso, no arquivo MainPage.xaml.cs do projeto de teste, adicione o seguinte trecho de código:

public MainPage()
{
	InitializeComponent();

	this.Loaded += (sender, e) => SetupTestUI();
}

private void SetupTestUI()
{
	var testPage = UnitTestSystem.CreateTestPage() as IMobileTestPage;
	BackKeyPress += (x, xe) => xe.Cancel = testPage.NavigateBack();
	(Application.Current.RootVisual as PhoneApplicationFrame).Content = testPage;
}

Agora é só começar a escrever seues testes!

[TestClass]
public class AdditionTests
{
	[TestMethod]
	public void TwoPlusTwoEqualsFour()
	{
		var result = 2 + 2;
		var expected = 4;
		Assert.AreEqual(expected, result);
	}

	[TestMethod]
	public void FivePlusFiveEqualsTen() //example of a failing test
	{
		var result = 5 + 4;
		var expected = 10;

		Assert.AreEqual(expected, result);
	}
}

Para rodar os testes, recomendo executar o projeto sem o debugger attachado (Ctrl+F5), pois toda vez que um Assert falhar, ele irá lançar uma “AssertFailedException”, fazendo com que o debugger do Visual Studio pare a execução e exiba os detalhes da exception lançada, conforme a imagem abaixo.

Após executar os testes, ele irá mostrar os resultados, dizendo quais teste passaram, e quais falharam. Basta clicar nos links que ele irá mostrar detalhes maiores sobre cada item, até chegar em uma visão detalhada sobre um teste em particular.

Como vimos, é bem simples escrever e executar testes para aplicações Silverlight no Windows Phone 7. Está longe do ideal, pois ao rodar os testes quando o emulador do WP7 está fechado, demora um pouco para vermos o resultado. Mas com o emulador já aberto, conseguimos visualizar os resultados bem rapidamente.

Abraços

Breno

Advertisements

Written by Breno Ferreira

06/12/2011 at 09:19

Posted in WP7

Tagged with , ,