Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[NERDGIRLZ] - Junit: melhores práticas para tes...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kamila de fatima santos oliveira
May 21, 2020
Programming
1
380
[NERDGIRLZ] - Junit: melhores práticas para testes unitários nas suas aplicações Java
Kamila de fatima santos oliveira
May 21, 2020
Tweet
Share
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
26
De java para Kotlin: Como aprender e liderar times nessa linguagem
kamilahsantos
0
48
Quarkus-Club-criando-arquiteturas-escalaveis-na-pratica
kamilahsantos
1
55
System design 101 - Java day Noroeste
kamilahsantos
2
110
[Thasfin + Orange Juice na CPBR] Minha aplicação virou um monstrinho e agora ?
kamilahsantos
1
90
Minha aplicação virou um monstrinho e agora?
kamilahsantos
2
130
Spring + Localstack : usando aws de forma gratuita
kamilahsantos
2
260
Hacktoberfest DevsJavaGirl
kamilahsantos
0
140
[We are developers Java developer day ] - I will have to refactor ! And now ? Refactoring Techniques in Java
kamilahsantos
1
140
Other Decks in Programming
See All in Programming
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
620
OTP を自動で入力する裏技
megabitsenmzq
0
130
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
100
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
160
The free-lunch guide to idea circularity
hollycummins
0
350
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
130
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
410
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
390
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.4k
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
330
Featured
See All Featured
Scaling GitHub
holman
464
140k
Deep Space Network (abreviated)
tonyrice
0
96
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
250
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
A Tale of Four Properties
chriscoyier
163
24k
Paper Plane (Part 1)
katiecoart
PRO
0
5.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
320
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
Building an army of robots
kneath
306
46k
Making Projects Easy
brettharned
120
6.6k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
250
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!