rafaelroballo2 / pigeon

Catch the Pigeon - Social Game
http://www.mosaic.eng.br/
21 stars 17 forks source link

Estudar e implementar TDD no código referente ao GUI do jogo #7

Open rkulesza opened 13 years ago

rkulesza commented 13 years ago

Responsabilidade de Leonardo Araujo

rafarocha commented 13 years ago

raoni e leo conta como estão e quais dificuldades

leonardoaraujo85 commented 13 years ago

Rafael, estou com problemas, creio que simples de resolver. Após vários tutoriais, já cheguei em uma modelo padrão de testes e entendi como funcionam os testes. O problema é que não estou conseguindo implementar o código de forma que ele execute sem falhas. Por exemplo, estava tentando testar inicialmente o logo do cin e o "loading" e ver se estavam sendo carregados corretamente, mas não sei quais parâmetros comparar (ou testar) na clase de teste que criei. Daí o JUnit test sempre retorna uma falha (exceção). Preciso apenas entender esses parâmetros de testes. Provavelmente, entendendo isso, os demais testes fluirão com mais facilidade (ou menos dificuldade). Segue a classe de teste da splash screen com um teste de unidade bem simples.

package br.ufpe.cin.mosaic.pigeon.test;

import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; import android.widget.ImageView; import android.graphics.drawable.Drawable; import br.ufpe.cin.mosaic.pigeon.SplashScreen;;

public class SplashScreenTest extends ActivityInstrumentationTestCase2 {

private SplashScreen mActivity;
private ImageView image1;
private Int resourceString;

public SplashScreenTest() {
      super("br.ufpe.cin.mosaic.pingeon.SplashScreen", SplashScreen.class);
    }

@Override
protected void setUp() throws Exception {
    super.setUp();
    mActivity = this.getActivity();
    image1 = (ImageView) mActivity.findViewById(br.ufpe.cin.mosaic.pigeon.R.id.imageView2);
    resourceString = mActivity.getTaskId(br.ufpe.cin.mosaic.pigeon.R.drawable.logo);
}

public void testCInLogo() {

    assertEquals(resourceString, image1.getId()); //não sei o que comparar no retorno do teste
    }

}

rafarocha commented 13 years ago

então leo faz o seguinte: atualiza teu fork em relacao ao de raoni. se tiver duvida como fazer isso avisa.

mas tu fazendo isto eu poderia enviar um pull request para vc com sugestão de exemplo, inclusive tou devendo fazer uma coisa parecida para raoni sobre testes na obtencao de conteudo json em server no android. somando jah tou devendo 2 pull request's.

no geral a idéia é essa mesmo como você está fazendo. no teu caso de teste pegar a instância do activity que tá rodando e checar se possui a instância destes componentes e com tais propriedades configuradas. sobre o erro posta aqui o log.