Skip to content

claudivanfilho/play-tests

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Play - Testes

######Playframework version 2.2.3

Codeship Status for ClaudivanFilho/PlayTestes

Sua aplicação Play pode ser testada em três níveis básicos:

  • UNIDADE
  • FUNCIONAL
  • INTERFACE / BROWSER

Utilização

  • todas as suas classes de teste devem estar na pasta 'test' gerada pelo play

  • na raiz da sua aplicação play digite o comando

$>play test
//ou então para executar determinado teste.
$>play "test-only <sua classe de testes ou seu namespace>"
// rodar a classe de testes IndexViewTest do pacote funcional
$>play "test-only funcional.IndexViewTest"
// rodar todas as classes de teste do pacote funcional 
$>play "test-only funcional.*"

Testes de Unidade

A Maneira padrão de testar sua apicação, com a ajuda do JUnit

Dicas

Exemplo:

// Sua unidade a ser testada, geralmente algum Model 
public class UnidadeTest extends AbstractTest{
    import org.junit.*;
    import play.mvc.*;
    import play.test.*;
    import play.libs.F.*;
    import static play.test.Helpers.*;
    import static org.fest.assertions.Assertions.*;
    
    // é também uma boa prática guiar seus testes pelo comportamento 
    // da entidade
    @Test 
    public void comportamentoDaUnidadeTest() {
        int a = 1 + 1;
        assertThat(a).isEqualTo(2);
        // usando asserts para verificação
    }
    ...
}

-exemplo completo ##Testes Funcionais

Testa o comportamento externo do software

Dicas

  • Conter um 'extends AbstractTest' para testar com BD e outras transações
  • AbstractTest.java

Nesse tipo de teste são testados(as):

  • Template (View)
@Test
public void indexTemplate() {
	String title = "Your new application is ready.";
	// guarda o resultado da renderização do index.scala.html 
	// passado como parametro 'title'
    Content html = index.render(title);
    //verifica se o html contém a determimnada string
    assertThat(contentAsString(html)).contains(title);
}

-exemplo completo

  • Controllers
@Test
public void callBooks() {
    // guarda o resultado da chamada ao método books() do controller Application
    Result result = callAction(controllers.routes.ref.Application.books(),
		fakeRequest());
    assertThat(status(result)).isEqualTo(Http.Status.OK);
    assertThat(charset(result)).isEqualTo("utf-8");
    assertThat(contentAsString(result)).contains("0 livro(s)");
}

-exemplo completo

  • Routes

o arquivo de routes pode ser visto aqui

// testa a route inicial, no caso "/"
@Test
public void rootRoute() {
    // guarda o resultado da requisição à url "/"
    Result result = Helpers.route(new FakeRequest(GET, "/"));
    // testa se a resultado da requisição à url "/" não é nula
    assertThat(result).isNotNull();
}

-exemplo completo

  • Documentação do play sobre testes funcionais aqui

##Testes de Interface

Utiliza de testes automaticos, uma das principais ferramentas para esse tipo de teste é o selenium

Duvidas

Utilizem o Piazza!

About

Exemplo de Testes - Play Framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.0%
  • Scala 4.0%