首页 专题 文章 代码 归档
Spring的单元测试
2020.01.24 13:58 2020.01.24 13:58

Spring单元测试

之前我们都是使用的Junit来测试的,这也不是特别方便!

如下代码:

package com.misiai.test;

import com.misiai.controller.BookController;
import com.misiai.dao.BookDao;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test01 {

    /*之前都是会定义一个成员变量,然后创建spring上下文
    * 然后在每个测试方法中通过ap.getBean()来获取对象,是不是有点麻烦?
    * */
    ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");

    @Test
    public void test03() {
        BookController bookController = ap.getBean("bookController", BookController.class);

    }

    @Test
    public void test02() {
        BookController bookController = ap.getBean("bookController", BookController.class);
        bookController.getBook();
    }

    @Test
    public void test01() {
        BookDao bookDao = ap.getBean("Misiai", BookDao.class);
        BookDao bookDao2 = ap.getBean("Misiai", BookDao.class);
        System.out.println(bookDao == bookDao2);
    }
}

使用spring的单元测试

步骤1:导包

包名:spring-test-5.2.3.RELEASE.jar

此包在我们之前下载的压缩归档文件里面有,导入到lib目录即可。

截图-1579844249

此时lib结构:

截图-1579844226

步骤2:新建测试类

com.misiai.test.SpringTest01

A)自定配置文件位置:类路径下的applicationContext.xml

@ContextConfiguration(locations = "classpath:applicationContext.xml")

B)用哪种驱动测试,默认Junit

@RunWith(SpringJUnit4ClassRunner.class)

C)完整如下:

package com.misiai.test;

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/*自定配置文件位置:类路径下的applicationContext.xml*/
@ContextConfiguration(locations = "classpath:applicationContext.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class SpringTest01 {
}

步骤3:测试

我们需要那个变量,就声明成员变量,加上自动装配的注解即可!

package com.misiai.test;

import com.misiai.service.BookService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/*自定配置文件位置:类路径下的applicationContext.xml*/
@ContextConfiguration(locations = "classpath:applicationContext.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class SpringTest01 {

    @Autowired
    private BookService bookService;

    @Test
    public void test01() {
        System.out.println(bookService);
    }
}

结果:

截图-1579845241

本节阅读完毕! (分享
二维码图片 扫描关注我们哟