JavaでJUnitを使って、DataSourceを使用するクラスをテストしたい。
どうやら、JUnit JNDI DataSource helper package を使えば、DataSourceが使えるらしい。
- JUnit JNDI DataSource helper package をダウンロードし、展開する。
- jrunittesthelper.jar を WEB-INF/lib にコピーする。
- jndiunittest_helper.properties を適当なフォルダ(ここでは WEB-INF)にコピーする
- jndiunittest_helper.properties を編集する。
こんな感じで使える。
public static void main(String[] args) throws NamingException, IOException, SQLException {
JNDIUnitTestHelper.init("WEB-INF/jndi_unit_test_helper.properties");
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup(JNDIUnitTestHelper.getJndiName());
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select DEPTNO, DNAME from DEPT");
while (rs.next()) {
System.out.println(rs.getInt("DEPTNO"));
System.out.println(rs.getString("DNAME"));
}
rs.close();
stmt.close();
}
参考