Maison >Java >javaDidacticiel >Comment SpringBoot teste les propriétés de configuration et l'environnement de démarrage Web
Cliquez pour afficher le code source de @SpringBootTest
Vous pouvez ajouter une configuration temporaire plus tard, peut également être défini à l'aide du paramètre args de ligne de commande. Les paramètres spécifiques au test définis remplaceront ceux du fichier de configuration.
package com; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(args = {properties = {"test.properties=1234"}) public class TestProperties { @Value("${test.properties}") private String ps; @Test public void test(){ System.out.println(ps); } }
Vous pouvez également utiliser les paramètres de ligne de commande
args = {" - -test.properties=4321"},
Les paramètres de ligne de commande ont une priorité plus élevée que le fichier de configuration, donc lorsque les deux coexistent, les paramètres de ligne de commande ont priorité
@SpringBootTest(args = {"--test.properties=4321"},properties = {"test.properties=1234"})#🎜 🎜#Les propriétés définies par cette classe de test ne sont valables que pour le test en cours et ont peu d'impactUtiliser des beans externes pour les tests
package com.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration//说明当前为配置类 public class TestBean { @Bean//创建bean public String mess(){ return "this bean run "; } }
Généralement, le serveur ne sera pas démarré lors de l'exécution dans la classe de test, comme indiqué ci-dessous. Ils affichent tous des informations sur le succès ou l'échec de l'opération
Faisons Ctrl+b cliquez sur le code source de @SpringBootTest pour voir, il y a une question à propos du web
La valeur par défaut est MOCK, mock : fournit un environnement Web simulé par défaut et ne démarrera pas le serveur intégré# 🎜🎜#Nous testons la classe中
La première consiste à démarrer avec le port spécifié dans votre fichier de configuration. Sinon, elle démarrera. avec 8080 par défaut
Deux simulations : fournit un environnement Web simulé par défaut et ne démarrera pas le serveur intégréLa troisième consiste à ne pas démarrer le serveurpackage com.test; import com.config.TestBean; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Import; @SpringBootTest @Import({TestBean.class}) public class TestBeanNow { @Autowired//注入bean对象 public String mess; @Test public void test(){ System.out.println(mess); } }Résultats d'exécution
Exécutez-le deux fois pour voir les résultats du port, ils sont tous aléatoires
#🎜🎜 #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!