Desenvolvimento - Mobile

NUNit para SmartDevices – Visual Studio 2008 Team System

Passo-a-passo de como criar, executar e debugar testes criados pelo Visual Studio 2008 para SmartDevices. No exemplo foi utilizado C#, Windows Mobile 5.0 Emulator e o Compact Framework. NET 3.5.

por Fábio Rocha Bonomi



Criar classes de teste para validação do nosso código é algo de crucial importância para o sucesso de nossa aplicação. Várias metodologias estão disponíveis no mercado e várias ferramentas que automatizam a criação desses casos de testes também.


No Visual Studio, já temos a geração dessas classes de maneira bastante intuitiva e até um tanto simples, no entanto será que gerar os casos de teste para uma aplicação SmartDevice é tão simples quanto para outras plataformas?

Hoje vamos começar a criação de um roteiro de teste bem simples para uma aplicação utilizando o Compact Framework.NET 3.5 e Visual Studio 2008 Team System e aprender a debugar esse roteiro.

Primeiro passo vamos criar um novo projeto SmartDeviece conforme imagem abaixo:

Posteriormente vamos definir o tipo do projeto que vamos utilizar conforme abaixo.


Adicione à tela um botão ao form

Posteriormente crie um método Soma com 2 parâmetros de entrada conforme abaixo:


Com o botão direito do mouse, clique em cima da declaração do método e selecione a opção Create Unit Tests e selecione a opção conforme figura abaixo:


O nosso método SomaTest foi criado automaticamente e já postos alguns dados fakes nele; o quais precisaremos alterar para efetivarmos nosso teste.

Agora precisamos configurar onde nosso Teste irá ser executado. Para isso devemos ir ao menu Test e selecionarmos a opção Local SmartDevices Test Run, dentro do menu Edit Test Run Configuration. Configure o teste conforme figura abaixo.


Retire a linha de código Assert.Inconclusive("Verify the correctness of this test method."). Mude os valores de entrada e saída para os valores desejados e rode o teste. Para isso clique com o botão direito do mouse sobre o método e dê Run Test.

O resultado será exibido na janela Test Result conforme abaixo:


Fácil, não?

Porém, muitas vezes, precisamos debugar nossos testes e essa talvez seja a parte mais difícil do nosso trabalho. Mas vamos começar.

Primeiro passo: devemos acessar o Remote Registry Tools, dentro da pasta Visual Studio Remote Tools.

Crie na estrutura abaixo um DWORD conforme abaixo



Sete o valor do DWORD AttachEnabled para 1.

No debug de um TestMethod, não basta colocarmos o breakpoint da maneira convencional para pararmos a execução. Devemos na linha anterior à desejada adicionarmos a seguinte linha de comando: System.Diagnostics.Debugger.Break()

Mande executar o teste.

Uma tela informando que uma parada foi encontrada será apresentada. Clique no botão Details, conforme figura abaixo:


Após isso no Visual Studio vá ao menu Debug, selecione Attach Process, mude o Transport, Qualifier e atache o processo SmartDeviceTestHost.exe conforme abaixo

Agora no emulador, clique em Debug. Pronto!!!! Agora você já pode debugar sua aplicação normalmente.

Fábio Rocha Bonomi

Fábio Rocha Bonomi