Maison > Java > javaDidacticiel > le corps du texte

Comment intégrer Junit entre Java et Spring ?

WBOY
Libérer: 2023-04-21 11:13:07
avant
1263 Les gens l'ont consulté

    1 Problèmes et solutions dans la classe de test

    1.1 Problème

    • Dans la classe de test, chaque méthode de test comporte les deux lignes de code suivantes :

      • ApplicationContext ac = new ClassPathXmlApplicationContext(" bean .xml");

      • IAccountService as = ac.getBean("accountService",IAccountService.class);

    • La fonction de ces deux lignes de code est d'obtenir le conteneur. Si vous ne l'écrivez pas , il demandera directement une exception de pointeur vide. Il ne peut donc pas être supprimé facilement.

    1.2 Analyse des idées de solutions

    • Compte tenu des problèmes ci-dessus, ce qu'il faut, c'est que le programme puisse créer automatiquement des conteneurs.

    • junit ne peut pas savoir si le framework spring est utilisé et ne peut pas créer un conteneur spring, mais junit expose une annotation qui peut remplacer son runner.

    • Vous devez vous fier au runner fourni par le framework spring. Vous pouvez lire le fichier de configuration (ou les annotations) pour créer le conteneur. Il vous suffit de lui indiquer où se trouve le fichier de configuration.

    2 Étapes de configuration

    2.1 Étape 1 : Copiez le package jar nécessaire pour intégrer junit dans le répertoire lib

    • Il convient de noter ici que lors de l'importation du package jar, vous devez importer un package jar aop dans printemps .

    Comment intégrer Junit entre Java et Spring ?

    2.2 Étape 2 : Utilisez l'annotation @RunWith pour remplacer le coureur d'origine

    @RunWith(SpringJUnit4ClassRunner.class)
    public class AccountServiceTest {
    }
    Copier après la connexion

    2.3 Étape 3 : Utilisez @ContextConfiguration pour spécifier l'emplacement du fichier de configuration Spring

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations= {"classpath:bean.xml"})
    public class AccountServiceTest {
    }
    Copier après la connexion
    • @ContextConfiguration annotation :

      • Attribut locations : utilisé pour spécifier l'emplacement du fichier de configuration. S'il est sur le classpath, vous devez utiliser classpath: pour indiquer

      • attribut classes : utilisé pour spécifier les classes de l'annotation. Lorsque vous n'utilisez pas la configuration XML, vous devez utiliser cet attribut pour spécifier l'emplacement de la classe d'annotation.

    2.4 Étape 4 : Utilisez @Autowired pour injecter des données dans les variables de la classe de test

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations= {"classpath:bean.xml"})
    public class AccountServiceTest {
     
        @Autowired
        private IAccountService as ;
    }
    Copier après la connexion

    3 Raisons pour ne pas attribuer la classe de test à XML

    • Première : Lorsqu'un bean est configuré en XML, lorsque spring charge le fichier de configuration pour créer un conteneur, l'objet sera créé.

    • Deuxième : La classe test n'est utilisée que lors du test des fonctions dans le projet, elle ne participe pas à la logique du programme et ne résoudra pas les problèmes de demande, elle est donc créée mais non utilisée. Ensuite, le stocker dans le conteneur entraînera un gaspillage de ressources.

    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