ひがやすを技術ブログ

電通国際情報サービスのプログラマ

S2DaoTestCase

テストめちゃくちゃ楽っていうか一撃。


public class EmployeeDaoTest extends S2DaoTestCase {

private EmployeeDao dao_;

public EmployeeDaoTest(String arg0) {
super(arg0);
}

public static void main(String[] args) {
junit.textui.TestRunner.run(EmployeeDaoTest.class);
}

public void setUp() {
include("examples/dao/EmployeeDao.dicon");
}

public void testGetAllEmployee() throws Exception {
DataSet expected = readXls("getAllEmployeesResult.xls");
List actual = dao_.getAllEmployees();
assertEquals("1", expected, actual);
}
}

全部ほんとうのことですから!!!!!  残念!!!!

複数のDBMSの切り替え

皆様のおかげで、情報を集めることができ、どうもありがとうございました。
DatabaseProductNameとDBMSの関係は次のような感じです。
dbms.properties


=org.seasar.dao.dbms.Standard
Oracle=org.seasar.dao.dbms.Oracle
PostgreSQL=org.seasar.dao.dbms.PostgreSQL
HSQL\ Database\ Engine=org.seasar.dao.dbms.HSQL
Firebird=org.seasar.dao.dbms.Firebird
MySQL=org.seasar.dao.dbms.MySQL
Microsoft\ SQL\ Server=org.seasar.dao.dbms.MSSQLServer
DB2/LINUX=org.seasar.dao.dbms.DB2
DB2/NT=org.seasar.dao.dbms.DB2
DB2/UDB=org.seasar.dao.dbms.DB2
DB2/6000=org.seasar.dao.dbms.DB2
DB2/AIX=org.seasar.dao.dbms.DB2
DB2/HPUX=org.seasar.dao.dbms.DB2
DB2/HP=org.seasar.dao.dbms.DB2
DB2/EEE=org.seasar.dao.dbms.DB2
DB2/CS=org.seasar.dao.dbms.DB2
DB2/SUN=org.seasar.dao.dbms.DB2
DB2/PE=org.seasar.dao.dbms.DB2
DB2/2=org.seasar.dao.dbms.DB2
DB2/PTX=org.seasar.dao.dbms.DB2
DB2/SCO=org.seasar.dao.dbms.DB2
dbmsパッケージの下には、Dbmsインターフェースを実装したクラス群がいて
DBMS固有の処理はここで行われます。
dbms.propertiesにエントリを増やすと対応できるDBMSも自動的に
追加されます。
DBMSと拡張子の関係は以下のとおりです。

Oracle:oracle
PostgreSQL:postgre
HSQL:hsql
Firebird:firebird
MSSQLServer:mssql
MySQL:mysql
DB2:db2
例えば、getEmployees.sqlの場合、Oracleのときだけ違うSQL
したいときは、getEmployees_oracle.sqlのようにします。
ロケールによるプロパティの切り替えみたいな感じです。


また、S2DaoV1.0.1から完全にマルチDBMSに対応しました。
複数のDBMSを混在させても、SQLの自動生成も含めてきちんと
処理できます。
以前も複数のDBMSに対応はしていたのですが、
同時に使えるのは1つでした。今回からは複数同時に使えます。
追加:MySQLが抜けていたので追加しました。

S2.0.13 S2DaoV1.0.1リリース

S2.0.13
http://prdownloads.sourceforge.jp/seasar/10449/S2.0.13.jar
修正点

  • 2.0.12のS2Containerにあったincludeのバグを修正しました。
  • S2DataSetで比較するときのロジックを修正しました。

S2DaoV1.0.1
http://prdownloads.sourceforge.jp/seasar/10450/S2DaoV1.0.1.jar

  • 複数のDBMSでのSQLファイルの使い分けに対応しました。
  • SELECT文の自動生成でORDERアノテーションを使えるようにしました。
  • S2DaoTestCaseで楽にテストできるようにしました。



業務連絡 to:きむきむ
S2Strutsのドキュメントのseasar.orgのアップは
こちらのほうでやっておきます。
明日の朝かも。完了。