Unit teste android

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1533 palavras )
  • Download(s) : 0
  • Publicado : 1 de agosto de 2011
Ler documento completo
Amostra do texto
Trabalhando com Unit Tests em Android
13 de maio de 2011 5 comentários
Olá pessoal.
Meu nome é Athila Santos. Eu trabalho com o Felipe em desenvolvimento Android na Motorola e vou começar a ajudá-lo na publicação de artigos sobre Android para este blog.
O meu primeiro artigo será sobre Unit Tests.
Para quem não sabe, Unit Tests são testes realizados pelo proprio desenvolvedor ou analista deteste, visando testar a menor parte testável de um sistema.
No entanto, testes realizados envolvendo contato com o dispositivo podem ser realizados por qualquer pessoa que utilize a aplicação. O que nós, developers, queremos é testar um determinado trecho de código, estado de classes etc. Para tanto, vamos desenvolver APLICAÇÕES responsáveis, unicamente, por testar a nossa aplicação.
É bomfrisar que os Unit Tests são parte essencial do ciclo de desenvolvimento de um projeto. Para uma app pequena como a QuickNotes pode parecer perda de tempo, mas grandes projetos não sobrevivem sem que os desenvolvedores gastem um bom tempo desenvolvendo Unit Tests decentes.
A plataforma Java nos fornece uma excelente ferramenta para desenvolvimento de Unit Tests. É a JUnit. Para ficar ainda melhor,Android também nos fornece todo um framework de
classes em complemento às já existentes no framework do JUnit.
Dada esta introdução, mãos à obra!
Neste artigo, vamos testar apenas a UI da Activity principal do QuickNotes.
Passo 1 – Criar o projeto de teste para o QuickNotes.
No Eclipse, clique com o botão direito no seu projeto QuickNotes -> New -> Other
Expanda a pasta “Android” e selecione“Android Test Project”.
Preencha os campos como na figura 1 (ao selecionar o projeto QuickNotes no campo “An existing Android Project”, os campos seguintes serão preenchidos automaticamente.

Clique em “Finish” e seu projeto irá aparecer no Package Explorer.
Passo 2 – Criar sua classe de test case.
Com o botão direito, clique no projeto QuickNotesTest -> New -> Class
Preencha os camposconforme a figura 2. (a classe android.test.ActivityInstrumentationTestCase2 é uma classe presente no framework de testes do Android que nos provê algumas APIs muito úteis para interagir com a UI de uma Activity). Ela é parametrizada com o nome da classe que será testada por esta classe.

Com a classe de teste criada, vamos implementá-la.
A primeira coisa que uma classe de teste precisa é de umconstrutor. No construtor padrão de qualquer classe de teste que tenha como pai a classe ActivityInstrumentationTestCase2, nós precisamos chamar o construtor desta passando como parametro o pacote da classe sendo testada e uma instancia representando tal classe (.class). Para o nosso caso, o construtor terá apenas isso. Portanto:
view plaincopy to clipboardprint?
1. public MainActivityTest() {
2.super("com.exemplos.quicknotes", MainActivity.class);
3. }
O método setUp() é um método herdado de uma das classes pai e é destinado à inicialização do estado da classe de teste. Este método é executado ANTES DE CADA TEST CASE, sempre. No nosso caso, vamos usá-lo para pegar os elementos de UI da nossa MainActivity:
view plaincopy to clipboardprint?
1. @Override
2. protected voidsetUp() throws Exception {
3. super.setUp();
4. mActivity = getActivity(); // mActivity ira guardar uma instânca da MainActivity.
5. // Esta chamada so e possivel por causa dos parametros passados no construtor.
6. // e o parametro passado na definição da classe
7. mEditor = (EditText) mActivity.findViewById(R.id.edit_box);
8. mButton = (Button)mActivity.findViewById(R.id.insert_button);
9. mList = (ListView) mActivity.findViewById(android.R.id.list);
10. mAdapter = (SimpleCursorAdapter) mList.getAdapter();
11. }
Obviamente, você deve criar as variáveis de instância envolvidas no método:
view plaincopy to clipboardprint?
1. private MainActivity mActivity;
2. private EditText mEditor;
3. private Button...
tracking img