Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
[NERDGIRLZ] - Junit: melhores práticas para tes...
Search
Kamila de fatima santos oliveira
May 21, 2020
Programming
410
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[NERDGIRLZ] - Junit: melhores práticas para testes unitários nas suas aplicações Java
Kamila de fatima santos oliveira
May 21, 2020
More Decks by Kamila de fatima santos oliveira
See All by Kamila de fatima santos oliveira
Tirando sua startup do papel com github spark + github copilot
kamilahsantos
0
72
De java para Kotlin: Como aprender e liderar times nessa linguagem
kamilahsantos
0
110
Quarkus-Club-criando-arquiteturas-escalaveis-na-pratica
kamilahsantos
1
110
System design 101 - Java day Noroeste
kamilahsantos
2
150
[Thasfin + Orange Juice na CPBR] Minha aplicação virou um monstrinho e agora ?
kamilahsantos
1
110
Minha aplicação virou um monstrinho e agora?
kamilahsantos
2
160
Spring + Localstack : usando aws de forma gratuita
kamilahsantos
2
310
Hacktoberfest DevsJavaGirl
kamilahsantos
0
200
[We are developers Java developer day ] - I will have to refactor ! And now ? Refactoring Techniques in Java
kamilahsantos
1
180
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
280
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8.2k
Jetpack Compose メカニズム
skydoves
0
460
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.2k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
3.4k
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
490
Intent as Code
shoppingjaws
6
1.1k
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.1k
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
120
JRuby: Past, Present, and Future
headius
0
180
Verilogで学ぶCPU自作入門.pdf
uyuki234
2
900
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
150
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
WCS-LA-2024
lcolladotor
0
830
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
250
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Odyssey Design
rkendrick25
PRO
2
810
Making the Leap to Tech Lead
cromwellryan
135
10k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
Site-Speed That Sticks
csswizardry
13
1.5k
Accessibility Awareness
sabderemane
1
220
RailsConf 2023
tenderlove
30
1.6k
Transcript
Junit: melhores práticas para testes unitários nas suas aplicações Java
04 Kamila Santos Dev Backend
None
AGENDA
PIRAMIDE DE TESTES SUITE DE TESTES TESTES UNITARIOS JUNIT ASSERTS
ANNOTATIONS EXEMPLO MELHORES PRÁTICAS TDD
None
coleção de casos de teste ou specs destinados a testar
um programa para verificar um determinado comportamento SUITE DE TESTES
SUITE DE TESTES As suítes de teste são usualmente divididas
de acordo com as funcionalidades do sistema ou com o tipo de teste executado.
Caso de Teste mostra os caminhos percorridos por um módulo,
Caso de Uso ou funcionalidade dentro do projeto. CASO DE TESTE
testam cada funcionalidade do código separadamente, cada unidade dele TESTE
UNITÁRIO
JUNIT
Plataforma para construção e execução de testes, JUNIT
Descoberta e execução de testes na JVM JUNIT PLATFORM
expõe a interface TestEngine, que define o contrato de execução
de qualquer ferramenta de testes sobre a plataforma do JUnit JUNIT PLATFORM
Contém os novos recursos para construção de testes usando o
JUnit, e fornece uma implementação de TestEngine para execução dos testes escritos com o JUnit Jupiter. JUNIT JUPITER
Fornece um TestEngine para execução de testes escritos em JUnit
3 e 4 JUNIT VINTAGE
é um método útil para determinar o status Aprovado ou
Reprovado de um caso de teste. Os métodos de declaração são fornecidos pela classe org.junit.Assert que estende a classe java.lang.Object ASSERTS
Há vários tipos de asserts como boolean, null... ASSERTS
assertTrue(condition) assertFalse(condition) assertNull(object) assertNotNull(object) assertEquals(expected, actual) ASSERTS
é uma forma especial de metadados sintáticos que pode ser
adicionada ao código-fonte Java para melhor legibilidade e estrutura do código ANNOTATIONS
@Test @Before @BeforeClass @After @AfterClass ANNOTATIONS
EXEMPLO BIT.LY/NERDGIRLZ35-DEMO BIT.LY/JUNIT-WEBFLUX
MELHORES PRÁTICAS
MELHORES PRÁTICAS
EVITE ESCREVER CASOS DE TESTE QUE POSSAM CAUSAR IMPACTO
EVITE ESCREVER CASOS DE TESTE QUE POSSAM CAUSAR IMPACTO
NOMES DE CASOS DE TESTES PADRÃO: testSampleServiceCre ateOrder()
SEMPRE TENTE FAZER UMA AFIRMAÇÃO PARA CADA MÉTODO DE TESTE
NÃO PASSE NO TESTE APENAS PARA PASSAR NELE!
NÃO ESCREVA SEUS PRÓPRIOS BLOCOS CATCH QUE EXISTEM APENAS PARA
PASSAR EM UM TESTE
COVERAGE E RELATÓRIO DE TESTES
MOCK SEUS DADOS
TESTE APENAS UMA UNIDADE DE CÓDIGO POR VEZ
TORNE CADA TESTE INDEPENDENTE DE TODOS OS OUTROS
NOMEIE SEUS TESTES DE FORMA LIMPA E CONSISTENTE
TODOS OS MÉTODOS, INDEPENDENTEMENTE DA VISIBILIDADE, DEVEM TER TESTES DE
UNIDADE APROPRIADOS
NÃO PULE CASO DE TESTES
red green refactor tdd
Referências https://elo7.dev/novidades-do-junit-5-parte-1/ https://elo7.dev/testes-codigo-mockito/ https://www.udemy.com/course/learn-unit-testing- with-spring-boot/
Referências https://examples.javacodegeeks.com/core- java/junit/junit-best-practices/ https://howtodoinjava.com/best-practices/unit- testing-best-practices-junit-reference-guide/ http://www.kyleblaney.com/junit-best-practice
OBRIGADA!