Quel est le rôle de la restauration de Junit dans Springboot
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>
Données brutes de base de données
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); } }
Données de résultat
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.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

1. Redis implémente le principe du verrouillage distribué et pourquoi les verrous distribués sont nécessaires. Avant de parler de verrous distribués, il est nécessaire d'expliquer pourquoi les verrous distribués sont nécessaires. Le contraire des verrous distribués est le verrouillage autonome. Lorsque nous écrivons des programmes multithreads, nous évitons les problèmes de données causés par l'utilisation d'une variable partagée en même temps. Nous utilisons généralement un verrou pour exclure mutuellement les variables partagées afin de garantir l'exactitude de celles-ci. les variables partagées. Son champ d’utilisation est dans le même processus. S’il existe plusieurs processus qui doivent exploiter une ressource partagée en même temps, comment peuvent-ils s’exclure mutuellement ? Les applications métier d'aujourd'hui sont généralement une architecture de microservices, ce qui signifie également qu'une application déploiera plusieurs processus si plusieurs processus doivent modifier la même ligne d'enregistrements dans MySQL, afin d'éviter les données sales causées par des opérations dans le désordre, les besoins de distribution. à introduire à ce moment-là. Le style est verrouillé. Vous voulez marquer des points

Springboot lit le fichier, mais ne peut pas accéder au dernier développement après l'avoir empaqueté dans un package jar. Il existe une situation dans laquelle Springboot ne peut pas lire le fichier après l'avoir empaqueté dans un package jar. La raison en est qu'après l'empaquetage, le chemin virtuel du fichier. n’est pas valide et n’est accessible que via le flux Read. Le fichier se trouve sous les ressources publicvoidtest(){Listnames=newArrayList();InputStreamReaderread=null;try{ClassPathResourceresource=newClassPathResource("name.txt");Input

JUnit est un framework de tests unitaires pour Java qui fournit des outils concis pour tester les composants d'application. Après avoir installé les dépendances, vous pouvez tester une classe en écrivant une classe de test unitaire contenant l'annotation @Test et vérifier les valeurs attendues et réelles à l'aide de méthodes d'assertion telles que assertEquals. JUnit fournit de nombreuses fonctionnalités telles que des méthodes de préparation, des messages d'échec et des mécanismes de délai d'attente.

Les annotations dans le framework JUnit sont utilisées pour déclarer et configurer les méthodes de test. Les principales annotations incluent : @Test (déclaration des méthodes de test), @Before (méthode exécutée avant l'exécution de la méthode de test), @After (méthode exécutée après la méthode de test). est exécuté), @ BeforeClass (méthode qui s'exécute avant l'exécution de toutes les méthodes de test), @AfterClass (méthode qui s'exécute après l'exécution de toutes les méthodes de test), ces annotations aident à organiser et à simplifier le code de test et à améliorer la fiabilité du code de test. en fournissant des intentions et des configurations claires. Lisibilité et maintenabilité.

Lorsque Springboot+Mybatis-plus n'utilise pas d'instructions SQL pour effectuer des opérations d'ajout de plusieurs tables, les problèmes que j'ai rencontrés sont décomposés en simulant la réflexion dans l'environnement de test : Créez un objet BrandDTO avec des paramètres pour simuler le passage des paramètres en arrière-plan. qu'il est extrêmement difficile d'effectuer des opérations multi-tables dans Mybatis-plus. Si vous n'utilisez pas d'outils tels que Mybatis-plus-join, vous pouvez uniquement configurer le fichier Mapper.xml correspondant et configurer le ResultMap malodorant et long, puis. écrivez l'instruction SQL correspondante Bien que cette méthode semble lourde, elle est très flexible et nous permet de

SpringBoot et SpringMVC sont tous deux des frameworks couramment utilisés dans le développement Java, mais il existe des différences évidentes entre eux. Cet article explorera les fonctionnalités et les utilisations de ces deux frameworks et comparera leurs différences. Tout d’abord, découvrons SpringBoot. SpringBoot a été développé par l'équipe Pivotal pour simplifier la création et le déploiement d'applications basées sur le framework Spring. Il fournit un moyen rapide et léger de créer des fichiers exécutables autonomes.

1. Personnalisez RedisTemplate1.1, mécanisme de sérialisation par défaut RedisAPI. L'implémentation du cache Redis basée sur l'API utilise le modèle RedisTemplate pour les opérations de mise en cache des données. Ici, ouvrez la classe RedisTemplate et affichez les informations sur le code source de la classe. Déclarer la clé, diverses méthodes de sérialisation de la valeur, la valeur initiale est vide @NullableprivateRedisSe

Le framework de tests unitaires JUnit est un outil largement utilisé dont les principaux avantages incluent des tests automatisés, un retour rapide, une qualité de code améliorée et une portabilité. Mais il présente également des limites, notamment une portée limitée, des coûts de maintenance, des dépendances, une consommation de mémoire et un manque de prise en charge d'intégration continue. Pour les tests unitaires d'applications Java, JUnit est un framework puissant qui offre de nombreux avantages, mais ses limites doivent être prises en compte lors de son utilisation.
