Jfinal Junit5测试(java.lang.NullPointerException)

package com.xx.xxx.test;

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;

import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.c3p0.C3p0Plugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.trechina.smartmap.model._MappingKit;
/**
 * Junit测试时不会自动进行数据库链接
 * 启动数据库链接部分
 * @author zhp
 * 2016/11/16
 */
class BaseSmartmapTest {
    protected static DruidPlugin dp;
    protected static ActiveRecordPlugin arp = null;
    protected static C3p0Plugin c3p0Plugin = null;
    @BeforeAll
    static void initAll(){
        if(c3p0Plugin==null){
            PropKit.use("config.properties");
            c3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password"));
            c3p0Plugin.start();
        }
        
        if (arp==null) {
            arp = new ActiveRecordPlugin(c3p0Plugin);
            // 打印sql语句
            //arp.setShowSql(true);
            // 数据库映射
            _MappingKit.mapping(arp);
            arp.start();
        }
        //System.out.println("Begin...");
    }
    @AfterAll
    static void tearDownAll() {
        //System.out.println("...End");
    }

}

JUnit测试时,要手动进行数据库链接映射。要不然会一直报

java.lang.NullPointerException

注意:@AfterAll 中不要对 c3p0Plugin 和 arp 进行 stop();

 

参考: http://www.oschina.net/code/snippet_2241783_39071

posted @ 2016-11-16 14:16  kuangniaokuang  阅读(1789)  评论(0编辑  收藏  举报