Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit

53
5 fundamentos essenciais de padrões xUnit Stefan Teixeira @stefan_teixeira [email protected]

Transcript of Agile Brazil 2016 - 5 fundamentos essenciais de padrões xUnit

5 fundamentos essenciais de padrões

xUnit

Stefan Teixeira @stefan_teixeira

[email protected]

• QA Automation Engineer @ Toptal • Co-organizador dos Meetups DevOps Carioca e Grupo de

Testes Carioca • Blogs: stefanteixeira.com.br (pt-br) / stefanteixeira.com

(en)

Contatos:• E-mail: [email protected] • Twitter: twitter.com/stefan_teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira

Sobre

Motivação

Testes Automatizados

Feedback rápido é essencial!

Testes facilitam refactoring

O que é xUnit?

http://xunitpatterns.com/

Alguns frameworks

Mas é só para unit tests? Não!

5 fundamentos essenciais

1. Conceitos básicos

Classes de teste

Métodos de teste

Four-phase Test

Assertions

Suites

2. Verificação de resultados

Delta assertion

Guard assertion

Custom assertions

3. Organização de testes

Suites

Helpers

Métodos utilitários

4. Manutenção de fixtures

Setup/Teardown

• @BeforeClass

Setup/Teardown

• @BeforeClass

• @Before

Setup/Teardown

• @BeforeClass

• @Before

• @After

Setup/Teardown

• @BeforeClass

• @Before

• @After

• @AfterClass

Shared fixtures

Shared fixtures

• Tempo de execução mais rápido

Shared fixtures

• Tempo de execução mais rápido

• Cuidado com estado entre testes!

Fresh fixtures

Fresh fixtures

• Tempo de execução mais lento

Fresh fixtures

• Tempo de execução mais lento

• Evita possíveis problemas de estado entre testes

5. Padrões para testes com bancos de dados

Testando Stored Procedures

Transaction rollback

Table truncation

Leituras recomendadas