Maison > Java > javaDidacticiel > Quel est le rôle de la restauration de Junit dans Springboot

Quel est le rôle de la restauration de Junit dans Springboot

PHPz
Libérer: 2023-05-16 08:28:13
avant
1214 Les gens l'ont consulté

Junit est utilisé pour écrire des tests unitaires dans Springboot, et les résultats des tests n'affectent pas la base de données.

pom introduit des dépendances

S'il s'agit d'un projet généré par un IDE, ce package a été introduit par défaut.

<dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-test</artifactid>
      <scope>test</scope>
    </dependency>
Copier après la connexion

Données brutes de base de données

Quel est le rôle de la restauration de Junit dans Springboot

données brutes

Écriture de tests unitaires

package com.mos.quote;

import com.mos.quote.model.Area;
import com.mos.quote.service.IAreaService;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest
public class QuoteApplicationTests {

  @Autowired
  private IAreaService areaService;

  @Test
  public void contextLoads() {
  }

  @Test
  public void testUpdate(){
    Area area = new Area();
    area.setCode("001003");
    area.setName("洛阳市");
    Integer result = areaService.update(area);
    Assert.assertEquals(1, (long)result);
  }

  @Test
  @Transactional
  @Rollback
  public void testUpdate4Rollback(){
    Area area = new Area();
    area.setCode("001001");
    area.setName("郑州市123");
    Integer result = areaService.update(area);
    Assert.assertEquals(1, (long)result);
  }

}
Copier après la connexion

Données de résultat

Quel est le rôle de la restauration de Junit dans Springboot

Données de résultat

Conclusion

D'accord On peut voir que les données du code =001001 n'a pas changé et les données avec le code=001003 ont été modifiées avec succès. En regardant le code :

@Transactional signifie que la méthode dans son ensemble est une transaction,

@Rollback signifie que la transaction est annulée après l'exécution. Elle prend en charge la transmission d'une valeur de paramètre. roll back et false pour ne pas revenir en arrière.

Cette annotation prend également en charge les annotations sur les classes. Si tel est le cas, elle sera efficace pour l'ensemble de la méthode de classe.

Quel est le rôle de la restauration de Junit dans Springboot

Annotation sur la classe

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:yisu.com
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