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
Kamila de fatima santos oliveira
May 21, 2020
Programming
1
340
[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
6
De java para Kotlin: Como aprender e liderar times nessa linguagem
kamilahsantos
0
26
Quarkus-Club-criando-arquiteturas-escalaveis-na-pratica
kamilahsantos
1
38
System design 101 - Java day Noroeste
kamilahsantos
2
92
[Thasfin + Orange Juice na CPBR] Minha aplicação virou um monstrinho e agora ?
kamilahsantos
1
65
Minha aplicação virou um monstrinho e agora?
kamilahsantos
2
120
Spring + Localstack : usando aws de forma gratuita
kamilahsantos
2
230
Hacktoberfest DevsJavaGirl
kamilahsantos
0
110
[We are developers Java developer day ] - I will have to refactor ! And now ? Refactoring Techniques in Java
kamilahsantos
1
120
Other Decks in Programming
See All in Programming
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
190
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
690
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
470
AI時代もSEOを頑張っている話
shirahama_x
0
190
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
13
5.4k
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
1
130
スタートアップを支える技術戦略と組織づくり
pospome
8
13k
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
130
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
500
Level up your Gemini CLI - D&D Style!
palladius
1
130
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
260
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
120
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
For a Future-Friendly Web
brad_frost
180
10k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Music & Morning Musume
bryan
46
7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
How to Ace a Technical Interview
jacobian
280
24k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
67k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
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!