码迷,mamicode.com
首页 > Web开发 > 详细

SSM框架MavenWeb项目的测试

时间:2020-10-14 20:13:15      阅读:28      评论:0      收藏:0      [点我收藏+]

标签:ati   for   启动   方法   code   容器   lis   tis   直接   

由于SSM项目的类都是由Spring容器托管,所以直接进行用new对象调用方法进行测试是不行不通的,会出现空指针异常NullPointExpection.

因为我们的对象由spring进行托管,调用的类可能存在属性是通过spring自动注入进行赋值的,调用数据库的Mybatis框架也是整合到Spring中的,所以测试之前须先启动Spring容器

然后再获取Bean对象,能进行之后的测试。

ServiceTest.java

package com.juyss.test;

import com.juyss.bean.TMenu;
import com.juyss.service.MenuService;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

public class ServiceTest {

    private ClassPathXmlApplicationContext context;

    @Before //Junit包下的
    public void init(){

        //作用是初始化Spring容器
        context = new ClassPathXmlApplicationContext("classpath:spring/spring-*.xml");
    }

    @Test //Junit包下的
    public void Test(){

        //通过容器获取要测试的类的对象
        MenuService service = context.getBean(MenuService.class);
        
        //然后再执行要测试的操作
        List<TMenu> list = service.getMenuList();
        for (TMenu menu : list) {
            System.out.println(menu);
        }
    }

}

了解以上过程后,其实我们可以简写为以下代码

public class ServiceTest {

    @Test
    public void Test(){
        //初始化Spring容器
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/spring-*.xml");
        //从容器中获取Bean
        MenuService service = context.getBean(MenuService.class);
        //在对Bean对象进行操作
        List<TMenu> list = service.getMenuList();
        for (TMenu menu : list) {
            System.out.println(menu);
        }
    }

}

SSM框架MavenWeb项目的测试

标签:ati   for   启动   方法   code   容器   lis   tis   直接   

原文地址:https://www.cnblogs.com/shmebluk/p/13812512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!