DBUnitのメモ
DatabaseOperationの一覧
INSERT
指定したデータセットをテーブルに挿入する。
テーブル内で同じ主キーとなるデータがすでに存在する場合、主キー制約でエラーとなる。
UPDATE
指定したデータセットの同じ主キーとなるデータを上書きする。
上書きするデータが存在しない場合、特に登録は行われない。
CLEAN_INSERT
指定したデータセットに存在するテーブルに対して、DELETE_ALLを行った後、INSERTを行なう。
データセットに含まれるデータのみでテストしたい場合に使用する。
既存のデータはすべて削除される。
REFRESH
指定したデータセットの主キーにマッチするデータを更新する。
更新するデータがない場合は、挿入される。
TRANCATE_TABLE
指定したデータセットに含まれるテーブルが削除される。
NONE
何も行わない処理。 何に使うのだろう・・・
特殊な値を使ったテスト
データセットへ置き換え文字を埋め込んでおく
<?xml version='1.0' encoding='UTF-8'?> <dataset> <sample title="Hello" price="100" date="[SYSDATE]"/> <sample title="[NULL]" price="200" date="2005-10-10"/> </dataset>
置き換える
ReplacementDataSet dataSet =
new ReplacementDataSet(new FlatXmlDataSet(new FileInputStream("dataset.xml")));
dataSet.addReplacementObject("[SYSDATE]", new Timestamp(System.currentTimeMillis()));
dataSet.addReplacementObject("[NULL]", null);
Excel 使用時の注意点
Excelの書式設定により、XlsDataSetでの値の取り扱われ方が異なる。
数値はBigDecimal型、日付はDate型、文字列はString型として扱われる。
pluginをインストールする。
せっかくeclipse3.1.1をインストールしたんで
いくつかpluginでも入れてみようということで・・・
Eclipse Web Tools Platform(WTP)
Eclipseの開発元であるEclipse Foundation が提供する、
サーバサイド・アプリケーション開発のプラグインらしい。
主な機能としては・・・
インストール方法
以下の手順で操作
①Help -> Software Updates -> Find and Install・・
②Search for new features to install -> Next・・
③Eclpse.org update siteを選択し、Finish
以下を選択して、後はダイアログに従ってインストール・・・
って結構インストールに時間がかかったよ。。
※.アプリケーション・サーバーは含まれていないんで別途インストールが必要とのこと。
なんか眠くてボーっとしてたらWTPのインストール中にエラーが出て失敗しました。。
しかもエラー内容見逃した。。
眠いんで後日チャレンジ。。
Eclipse Test and Performance Tools Platform(Eclipse TPTP)
WTPと同じくEclipseの開発元であるEclipse Foundation が提供する、
非機能試験を実施する為のプラグインです。
もともとはHyadesという名前だったらしい。そーいえば聞いたことだけあるような・・
インストール方法
TPTPはXSDとEMFの2つのプラグインを使用します。
ということで先にWTPをインストールしたんだよね。
(同様にXSDとEMFが必要だから。)
TPTP自体はArchived Projects | The Eclipse Foundationからダウンロード。
- tptp.sdk-TPTP-4.0.1
プロファイリング・エージェントのインストール
TPTPは、リモートで稼動するJavaアプリケーションのプロファイリングも行えるとのこと。
その際、ローカルとリモートとの仲介役として動作するのが「プロファイリング・エージェント」
らしい。
インストール
①プロファイリング・エージェントはEclipse Downloads | The Eclipse Foundationから
Windows版のruntimeをダウンロード。
②適当なフォルダへ展開。
今回は「E:\Java\eclipse\plugin\tptp\tptpdc.win_ia32-TPTP-4.0.1」へ展開
③binフォルダのsetConfig.batを実行して、java.exeの場所を設定。
④Windowsサービスとして設定する
E:\Java\eclipse\plugin\tptp\tptpdc.win_ia32-TPTP-4.0.1\bin>manageservice add "Agent Controller" "E:\Java\eclipse\plugin\tptp\tptpdc.win_ia32-TPTP-4.0.1"
⑤サービスを起動する
E:\Java\eclipse\plugin\tptp\tptpdc.win_ia32-TPTP-4.0.1\bin>net start "Agent Controller"
⑥サービスの起動を確認
E:\Java\eclipse\plugin\tptp\tptpdc.win_ia32-TPTP-4.0.1\bin>netstat -na | findstr 10002 TCP 0.0.0.0:10002 0.0.0.0:0 LISTENING
あとは、eclipseからプロファイルを選んでアプリケーションを実行するだけ。
なんかいろいろ細かく設定できるみたいだけどとりあえずここまで。
TEST
TEST
更新1回目
Webページ作成支援リンク
かなり参考になるサイト
お世話になりました。
Web Authoring Links
JavaScript++かも日記
EasyMockに触れる(2)
EasyMockで例外のテスト
テストプログラム
package sample.easymock;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import static org.easymock.EasyMock.expectLastCall;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import junit.framework.TestCase;
public class SampleDAOTest extends TestCase {
private Connection conMock;
private Statement stMock;
private ResultSet rsMock;
protected void setUp() {
// ①Mockオブジェクトの生成
conMock = createMock(Connection.class);
stMock = createMock(Statement.class);
rsMock = createMock(ResultSet.class);
}
/*
* Test method for 'sample.easymock.SampleDAO.selectSample(Connection, String)'
*/
public void testSelectSample2() throws Exception {
// ②期待値の設定
expect(conMock.createStatement()).andReturn(stMock);
expect(stMock.executeQuery("select * from sample")).andThrow(new SQLException("DB接続でえらー!!!"));
replay(conMock);
replay(stMock);
// ③モックテストの実施
SampleDAO dao = new SampleDAO();
try {
dao.selectSample(conMock, "select * from sample");
fail("SQLExceptionがthrowされるはず");
} catch(SQLException e) {
System.out.println(e.getMessage());
}
// ④モックテストの検証
verify(conMock);
verify(stMock);
}
}