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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kamila de fatima santos oliveira
May 21, 2020
Programming
390
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
34
De java para Kotlin: Como aprender e liderar times nessa linguagem
kamilahsantos
0
57
Quarkus-Club-criando-arquiteturas-escalaveis-na-pratica
kamilahsantos
1
61
System design 101 - Java day Noroeste
kamilahsantos
2
110
[Thasfin + Orange Juice na CPBR] Minha aplicação virou um monstrinho e agora ?
kamilahsantos
1
100
Minha aplicação virou um monstrinho e agora?
kamilahsantos
2
150
Spring + Localstack : usando aws de forma gratuita
kamilahsantos
2
260
Hacktoberfest DevsJavaGirl
kamilahsantos
0
150
[We are developers Java developer day ] - I will have to refactor ! And now ? Refactoring Techniques in Java
kamilahsantos
1
150
Other Decks in Programming
See All in Programming
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
250
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
170
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
300
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
360
さぁV100、メモリをお食べ・・・
nilpe
0
130
Claspは野良GASの夢をみるか
takter00
0
170
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
840
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.2k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
770
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
230
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Deep Space Network (abreviated)
tonyrice
0
170
My Coaching Mixtape
mlcsv
0
140
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Statistics for Hackers
jakevdp
799
230k
Ethics towards AI in product and experience design
skipperchong
2
300
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Abbi's Birthday
coloredviolet
2
7.9k
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!