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