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
