zoukankan      html  css  js  c++  java
  • spring整合Junit的配置

    1.1 Spring整合junit的步骤

    *  Spring整合junit的配置
    * 1.导入spring整合junitjar(坐标)
    * 2.使用Junit提供的一个注解把原有的main方法替换了,替换成spring提供的
    * @RunWith
    * 3.告知spring的运行器,springioc创建是基于xml还是注解的,并且说明位置
    * @ContextConfiguration
    * Locations:指定xml文件的位置,加上classpath关键字,表示在lei路径下
    * classes:指定注解类所在地位置

    package com.jh.test;
    
    import com.jh.config.SpringConfiguration;
    import com.jh.entity.Account;
    import com.jh.service.AccountService;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    import java.util.List;
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = SpringConfiguration.class)
    public class AccountTest {
        @Autowired
        private AccountService accountService = null;
        @Test
        public void TestFindAllAccount() {
            List<Account> list = accountService.findAllAccount();
            for (Account a :
                    list) {
                System.out.println(a);
            }
        }
    }
    
    

    如果是xml配置:@ContextConfiguration(locations = "classpath:applicationContext.xml")

    1.2 jar包冲突问题

    我最后用的以下maven配置,我试过了,junit 4.13版本可以用,但是高于4.13就不能用了,spring-test 2.0版本以上的也不能用

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>org.example</groupId>
        <artifactId>spring05_eesy_anno_ioc</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.2.5.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>5.0.2.RELEASE</version>注意版本要与spring-test的版本一致
            </dependency>
            <dependency>
                <groupId>commons-dbutils</groupId>
                <artifactId>commons-dbutils</artifactId>
                <version>1.7</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.19</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13</version><!--此处需要注意的是,spring5 及以上版本要求 junit 的版本必须是 4.12 及以上,否则用不了-->
            </dependency>
            <dependency>
                <groupId>c3p0</groupId>
                <artifactId>c3p0</artifactId>
                <version>0.9.1.2</version>
            </dependency>
        </dependencies>
    
    </project>

    解决方法:引入的test的依赖版本与项目中的Spring版本不一致,一种方法时去除版本指定,另外一种是将版本更改为与项目Spring一致

     
  • 相关阅读:
    python多进程(一)
    python操作memcached
    python操作redis
    SQLAlchemy总结
    SQLAlchemy-ORM
    python操作mysql二
    python操作mysql
    python正则二
    python正则
    python内置模块(三)
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/15107584.html
Copyright © 2011-2022 走看看