[JAVA] [Spring Boot] Jusqu'à ce que @Autowired soit exécuté dans la classe de test [JUnit5]

Choses à faire

Avec SpringBoot + JUnit5, faites-le jusqu'à ce que vous exécutiez l'injection du modèle de constructeur au moment du test.

manière

Cela fonctionnait si j'ajoutais @ ExtendWith (SpringExtension.class) et @ SpringBootTest.

Exemple de code

import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;

@DisplayName("Tester pour déplacer le modèle de constructeur")
@ExtendWith(SpringExtension.class)
@SpringBootTest
class AutowiredTest {

    private final AutowiredClass autowiredClass;

    private final String hoge;
    private final String fuga;

    @Autowired
    AutowiredTest(AutowiredClass autowiredClass) {
        this.autowiredClass = autowiredClass;

        hoge = "Chaîne";
        fuga = "Chaîne";
    }

    @Test
    @DisplayName("Quelques tests")
    void uploadFile() {
        assertEquals(hoge, fuga);
    }
}

Supplément

Puisqu'il s'agit de JUnit5, vous pouvez écrire diverses choses dans la classe sans ajouter public. De plus, le constructeur injectera même «private».

Recommended Posts

[Spring Boot] Jusqu'à ce que @Autowired soit exécuté dans la classe de test [JUnit5]
Qu'est-ce que @Autowired dans Spring Boot?
Testez la classe injectée sur le terrain dans le test de démarrage Spring sans utiliser le conteneur Spring
Écrire du code de test avec Spring Boot
[Spring Boot] Simulez le contenu câblé automatiquement en dehors de la portée [JUnit 5]
Test de validation de classe de formulaire avec Spring Boot
Les champs auto-câblés dans une classe qui hérite de TextWebSocketHandler dans Spring Boot deviennent NULL
Exécuter un projet Spring Boot avec VS Code
Afficher la tâche Gradle dans le projet Spring Boot
Obtenez le chemin défini dans la classe Controller de Spring Boot sous forme de liste
Spécifiez le codage des ressources statiques dans Spring Boot
[Compatible JUnit 5] Ecrire un test en utilisant JUnit 5 avec Spring boot 2.2, 2.3
[JUnit 5] Ecrivez un test de validation avec Spring Boot! [Test de paramétrage]
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 1
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 2
J'ai écrit un test avec Spring Boot + JUnit 5 maintenant
Pourquoi la méthode get est nécessaire dans la classe Calendar
Comment utiliser la même classe Mapper dans plusieurs sources de données avec Spring Boot + MyBatis
Spring Boot 1.x atteindra EOL l'année prochaine.
Le cas où @Autowired n'a pas pu être utilisé dans JUnit5
Utilisez Spring Test + Mockito + JUnit 4 pour le test unitaire Spring Boot + Spring Retry
Définir le paramètre contextuel dans Spring Boot
Multi-projets Spring Boot 2 avec Gradle
Exécutez LIFF avec Spring Boot
Qu'est-ce que la classe BufferedReader?
Tester les méthodes privées dans JUnit
Tester les méthodes privées dans JUnit
[JUnit] Tester l'exception levée
Changements majeurs dans Spring Boot 1.5
Jusqu'à ce que le code soit exécuté
Spring Boot 2.2 prend désormais en charge RSocket, alors essayez-le
Sachez que la valeur par défaut de la redirection Spring Boot est http
ProxyFactory est pratique lorsque vous souhaitez tester AOP avec Spring!
Obtenez une instance proxy du composant lui-même dans Spring Boot
Voir le comportement de redirection relative avec le paramètre server.tomcat.use-relative-redirects dans Spring Boot
Ce que j'ai fait lors de la migration de la série Spring Boot 1.4 vers la série 2.0
Ce que j'ai fait lors de la migration de la série Spring Boot 1.5 vers la série 2.0
Écrivons un code de test pour la fonction de connexion avec Spring Boot
Développement d'applications Spring Boot dans Eclipse
Spring Boot pour la première fois
Comment exécuter JUnit dans Eclipse
Le test de paramétrage JUnit 5 est super pratique
Jusqu'à "Hello World" avec Spring Boot
Implémenter l'API REST avec Spring Boot
Utiliser DBUnit pour le test Spring Boot
Le traitement des événements est effectué au printemps.
Sortie du rapport de test JUnit dans Maven
Quelles sont les règles de JUnit?
Contrôleur de cadre de test Spring avec Junit
Comment utiliser Thymeleaf avec Spring Boot
Spring.messages.fallback-to-system-locale: false est requis pour le message par défaut.properties pour la prise en charge i18n de Spring Boot
Étapes pour rendre Spring Boot capable de faire référence à la valeur dans le fichier de propriétés
Erreur lors de la finalisation du membre de la classe Entity utilisé dans SpringWebFlux