User Tools

Site Tools


tanszek:oktatas:mockito

This is an old revision of the document!


A mockolást legegyszerűbben úgy lehet megérteni, ha a BankAccount mellé teszünk egy külső függőséget, például egy értesítési szolgáltatást. A cél az lesz, hogy a BankService befizetés után küldjön értesítést, de a tesztben ne legyen valódi SMS vagy e-mail küldés. Ehelyett Mockito mockot használunk.

1. Először add hozzá a Mockito függőséget a pom.xml-hoz a JUnit mellé:

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-junit-jupiter</artifactId>
    <version>5.14.2</version>
    <scope>test</scope>
</dependency>

utána

mvn clean test

2. Hozd létre a NotificationService interfészt:

src/main/java/com/example/NotificationService.java

Tartalma:

package com.example;
 
public interface NotificationService {
 
    void send(String message);
}

Ez lesz a külső függőségünk.

3. Hozd létre a BankService osztályt:

src/main/java/com/example/BankService.java

Tartalma:

package com.example;
 
public class BankService {
 
    private final NotificationService notificationService;
 
    public BankService(NotificationService notificationService) {
        this.notificationService = notificationService;
    }
 
    public void deposit(BankAccount account, double amount) {
        account.deposit(amount);
 
        notificationService.send("Deposit successful");
    }
}

A fontos rész az, hogy a BankService nem hozza létre saját maga a NotificationService-t, hanem kívülről kapja meg. Ez a dependency injection egyszerű formája.

tanszek/oktatas/mockito.1790857418.txt.gz · Last modified: by superuser