0Pricing
Spring Boot 4 Microservices & REST APIs · Aula

Testes unitários com JUnit e Mockito

Teste componentes de forma isolada.

Testes unitários com JUnit e Mockito é uma aula grátis de Spring Boot 4 Microservices & REST APIs no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Spring Boot 4 Microservices & REST APIs, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Spring Boot 4 Microservices & REST APIs inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Why Unit Tests

A unit test verifies a single class in isolation, with its collaborators replaced by fakes.

  • Fast — no Spring context, no database
  • Focused — tests one piece of logic
  • Reliable — no external dependencies

JUnit 5 Basics

Spring Boot uses JUnit 5 (Jupiter). A test is a method annotated with @Test.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {
    @Test
    void addsTwoNumbers() {
        assertEquals(5, 2 + 3);
    }
}

Lifecycle Annotations

Use @BeforeEach to set up state before each test and @AfterEach to clean up.

@BeforeEach
void setUp() {
    calculator = new Calculator();
}

@Test
void addsCorrectly() {
    assertEquals(7, calculator.add(3, 4));
}

AssertJ Fluent Assertions

Spring Boot bundles AssertJ for readable assertions with assertThat.

import static org.assertj.core.api.Assertions.assertThat;

assertThat(result).isEqualTo(42);
assertThat(list).hasSize(3).contains("a");

What is Mockito

Mockito creates mock objects — fake implementations of dependencies whose behavior you control.

This lets you test a class without its real collaborators (database, HTTP clients, etc.).

Creating Mocks

Annotate the test class with @ExtendWith(MockitoExtension.class). Use @Mock for dependencies and @InjectMocks for the class under test.

@ExtendWith(MockitoExtension.class)
class UserServiceTest {
    @Mock
    UserRepository repository;

    @InjectMocks
    UserService service;
}

Stubbing with when/thenReturn

Define a mock's behavior with when(...).thenReturn(...).

@Test
void returnsUserById() {
    User alice = new User("1", "Alice");
    when(repository.findById("1"))
        .thenReturn(Optional.of(alice));

    User result = service.getById("1");

    assertThat(result.getName()).isEqualTo("Alice");
}

Throwing from a Mock

Use thenThrow to simulate error conditions.

when(repository.findById("99"))
    .thenThrow(new RuntimeException("DB down"));

assertThrows(RuntimeException.class,
    () -> service.getById("99"));

Verifying Interactions

verify checks that a mock method was called with expected arguments.

@Test
void savesUser() {
    service.create(new User("2", "Bob"));

    verify(repository).save(any(User.class));
    verify(repository, times(1)).save(any());
}

Argument Matchers

Matchers like any(), eq(), and anyString() make stubs flexible.

when(repository.findByName(anyString()))
    .thenReturn(List.of(new User("1", "Alice")));

verify(repository).deleteById(eq("1"));

Capturing Arguments

ArgumentCaptor captures the value passed to a mock so you can assert on it.

ArgumentCaptor<User> captor =
    ArgumentCaptor.forClass(User.class);
verify(repository).save(captor.capture());
assertThat(captor.getValue().getName())
    .isEqualTo("Bob");

Quick Check

Test your understanding of Mockito.

Recap

You learned to write fast unit tests:

  • JUnit 5 with @Test, @BeforeEach
  • AssertJ assertThat for readable checks
  • Mockito @Mock / @InjectMocks
  • when/thenReturn to stub, verify to confirm calls

Perguntas Frequentes

A aula “Testes unitários com JUnit e Mockito” é grátis?

Sim — o texto completo de “Testes unitários com JUnit e Mockito” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Spring Boot 4 Microservices & REST APIs, atualize para CoddyKit PRO. O curso de Spring Boot 4 Microservices & REST APIs inclui 4 aulas no total.

O que vou aprender em “Testes unitários com JUnit e Mockito”?

Teste componentes de forma isolada. Você pratica Spring Boot 4 Microservices & REST APIs com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Spring Boot 4 Microservices & REST APIs?

Nenhuma experiência prévia é necessária. Spring Boot 4 Microservices & REST APIs no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Testes unitários com JUnit e Mockito”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Spring Boot 4 Microservices & REST APIs?

Sim. Cada aula de Spring Boot 4 Microservices & REST APIs inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Testes unitários com JUnit e Mockito
  2. Testes da camada web com MockMvc
  3. Testes de integração com @SpringBootTest
  4. Dependências reais com Testcontainers
← Voltar para Spring Boot 4 Microservices & REST APIs