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