Maison > Java > javaDidacticiel > le corps du texte

Comment tester unitairement les fonctions Java avec Mockito ?

王林
Libérer: 2024-04-27 15:36:01
original
698 Les gens l'ont consulté

Étapes pour tester les fonctions Java à l'aide de Mockito : ajoutez une dépendance Mockito. Créez des objets fictifs et définissez un comportement fictif. Appelez la fonction à tester. Affirmer le comportement attendu d’une fonction. Utilisez verify() pour vérifier les interactions simulées.

Comment tester unitairement les fonctions Java avec Mockito ?

Comment tester unitairement des fonctions Java à l'aide de Mockito

En ce qui concerne les tests unitaires en Java, Mockito est un framework de simulation populaire qui vous permet de créer des doubles de tests pour simuler les dépendances externes. Tester les fonctions Java est très simple avec Mockito.

Dépendances

Avant de commencer, assurez-vous d'inclure les dépendances Mockito dans votre projet :

<dependency>
  <groupId>org.mockito</groupId>
  <artifactId>mockito-core</artifactId>
  <version>4.6.1</version>
  <scope>test</scope>
</dependency>
Copier après la connexion

Créez une classe de test

Pour créer une classe de test de fonction, créez une nouvelle classe et étendez MockitoTestCase , comme indiqué ci-dessous : MockitoTestCase 类,如下所示:

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

public class FunctionTest extends MockitoTestCase {
  // 定义要测试的函数
  private Function<Integer, Integer> function;
  
  @Before
  public void setUp() {
    // 创建函数的模拟
    function = Mockito.mock(Function.class);
  }
  
  // 测试函数的行为
  @Test
  public void testFunction() {
    // 设置函数的模拟行为
    Mockito.when(function.apply(10)).thenReturn(20);
    
    // 调用要测试的函数
    int result = function.apply(10);
    
    // 断言函数的预期行为
    assertEquals(20, result);
    verify(function, times(1)).apply(10);
  }
}
Copier après la connexion

实战案例

让我们考虑一个简单的函数 addTen()

public class MathFunctions {
  public int addTen(int number) {
    return number + 10;
  }
}
Copier après la connexion

Cas pratique

Considérons une fonction simple addTen() qui accepte un nombre et renvoie le résultat de l'ajout de 10 .

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

public class MathFunctionsTest extends MockitoTestCase {
  private MathFunctions mathFunctions;
  
  @Before
  public void setUp() {
    mathFunctions = Mockito.mock(MathFunctions.class);
  }
  
  @Test
  public void testAddTen() {
    Mockito.when(mathFunctions.addTen(10)).thenReturn(20);
    
    int result = mathFunctions.addTen(10);
    
    assertEquals(20, result);
    verify(mathFunctions, times(1)).addTen(10);
  }
}
Copier après la connexion

Cas pratique de test

Pour tester cette fonction à l'aide de Mockito, créez une classe de test comme indiqué ci-dessous :

rrreee

🎜Conclusion🎜🎜🎜Utiliser Mockito pour les tests unitaires des fonctions Java est très simple. Vous pouvez facilement tester l'exactitude d'une fonction en créant une simulation, en définissant le comportement de la simulation et en affirmant le comportement attendu de la fonction. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!