Maison  >  Article  >  Java  >  Comment tester unitairement les fonctions Java avec Mockito ?

Comment tester unitairement les fonctions Java avec Mockito ?

王林
王林original
2024-04-27 15:36:01702parcourir

É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>

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);
  }
}

实战案例

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

public class MathFunctions {
  public int addTen(int number) {
    return number + 10;
  }
}

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);
  }
}

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!

Déclaration:
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