zoukankan      html  css  js  c++  java
  • SSM框架MavenWeb项目的测试

    由于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);
            }
        }
    
    }
    

    还可以使用Spring提供的注解方式进行测试,参考博文https://www.cnblogs.com/shmebluk/p/13832711.html

  • 相关阅读:
    SQLServer2008设置开启远程连接
    C# 调用 SQL server 初探
    在同一网关下ping不通其他电脑
    SQL server 2008 安装报错 reporting services catalog database file existence
    Sql Server中一次更新多列数据
    Git warning push.default is unset
    删除右键菜单中的Git
    Java多线程中Lock的使用
    ConcurrentHashMap如何保证线程安全
    Java多线程之ThreadLocal
  • 原文地址:https://www.cnblogs.com/juyss/p/13812512.html
Copyright © 2011-2022 走看看