Code Monkey home page Code Monkey logo

play-tests's Introduction

#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!

play-tests's People

Contributors

claudivanfilho avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.