|
ToDo:
|
Playstation.comでは売らないらしい。
まぁ当面は買う予定はない(FFかDQが出るまでは買う予定はないっす。BDはちょっと興味あるかも)
実験的。
DB周りのテストをイロイロと考えたり試したしていたが、やっぱりdbUnitに落ちつく。
仕事的には、.NETが多いのだがAssertionだけはこれにしておくカー。
getDataSet()は振る舞いで定義されているので、getSetUpOperation()でDBの状態を制御する必要があるんだな。
import org.dbunit.DatabaseTestCase;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.ITable;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.operation.DatabaseOperation;
import org.dbunit.dataset.filter.DefaultColumnFilter;
import org.dbunit.Assertion;
import java.io.*;
import java.sql.*;
public class SampleTest extends DatabaseTestCase
{
private static final String driver = "oracle.jdbc.driver.OracleDriver";
private static final String url = "jdbc:oracle:thin:@hostname:port:SID";
private static final String user = "user";
private static final String password = "passwd";
public static void main(String[] args)
{
junit.textui.TestRunner.run(SampleTest.class);
}
protected DatabaseOperation getSetUpOperation() throws Exception
{
return DatabaseOperation.NONE;
}
protected IDatabaseConnection getConnection() throws Exception
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,password);
String schema = conn.getMetaData().getUserName();
return new DatabaseConnection(conn,schema);
}
protected IDataSet getDataSet() throws Exception
{
// return new FlatXmlDataSet(new FileReader("import-data.xml"));
return null;
}
public void testExecuteInsert() throws Exception
{
IDataSet actualDataSet = getConnection().createDataSet();
ITable actualSample = actualDataSet.getTable("TABLE_NAME");
ITable actualFilter = DefaultColumnFilter.excludedColumnsTable(
actualSample, new String[]{"EXCLUDE_COLUMN_NAME*"});
ITable expectedSample = new FlatXmlDataSet(new FileReader("sample.xml")).getTable("EXPECTED_TABLE_NAME");
ITable filteredSample = DefaultColumnFilter.excludedColumnsTable(
expectedSample, new String[]{"EXCLUDE_COLUMN_NAME*"});
Assertion.assertEquals(filteredSample,actualFilter);
}
}
EXCLUDE_COLUMN_NAMEは、レコードのユニークIDやタイムスタンプなどですね。
こーんな感じかな。
因みに、xmlは以下のコードで作成。
import org.dbunit.DatabaseTestCase;
import org.dbunit.database.*;
import org.dbunit.dataset.*;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.operation.DatabaseOperation;
import org.dbunit.dataset.filter.DefaultColumnFilter;
import org.dbunit.Assertion;
import java.io.*;
import java.sql.*;
public class ExportSample
{
private static final String driver = "oracle.jdbc.driver.OracleDriver";
private static final String url = "jdbc:oracle:thin:@hostname:port:SID";
private static final String user = "user";
private static final String password = "password";
public static void main(String[] args) throws Exception
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,password);
IDatabaseConnection connection = new DatabaseConnection(conn);
// IDataSet fullDataSet = connection.createDataSet(new String[]{"TABLE_NAME"});
// FlatXmlDataSet.write(fullDataSet, new FileOutputStream("table_name.xml"));
QueryDataSet particalDataSet = new QueryDataSet(connection);
particalDataSet.addTable("TABLE_NAME","SELECT * FROM TABLE_NAME");
FlatXmlDataSet.write(particalDataSet, new FileOutputStream("table_name.xml"));
}
}
ホントはcomment outしたコードで対象のtableが欲しかったのだが、何故か、IDataSetが全テーブルを対象としてしまう。
仕方ないので、QueryDataSetを使った。
起き上がれず。
ちょっと様子見。なんかいきなりインストール時に、なんの準備なしでTimemachineは動かしちゃよくないらしい。
この第2版を待っておりました。ちょっと本屋でチラ見しました。よさげです。RoRってちょっとバブるっている鴨って気がしないでもないですが、時代の流れなの鴨。さっくりウェブアプリが作れちゃうのはグッドだと思います。あとは大きな業務アプリが作れるだけのプラクティスがどれだけ出てくるか?自分で見つけるか。
071028_162954 posted by (C)ひかぞぉ
我が家では買い込みます。でも、かるーく消費します。
2ヶ月に1度くらいかな?の庶民のササヤカな贅沢。
071028_171412 posted by (C)ひかぞぉ
071028_174412 posted by (C)ひかぞぉ
久しぶりの会議。ヲレ主催。
食べたことあるのは、134689です。トリュフはあるらしいのだが、記憶にない。
ちょっと集中カのないヲレです。StickiesをInstallしておくかの。
確かに思い出せません>本日の朝からの行動。
ほほぉ、こーいったやり方があるですカー。参考です。CSSはまだわかってないヲレです。
英語の勉強にはもってこいのSoftwareらしい。Macだとどーんなのが良さそうなのだろうか?
thead {display: table-header-group;}
OpenGLもご無沙汰です。
この方法をメモっていたのだが、忘れていた。
<Script language="C#" runat=server>
void Page_Load(object sender, EventArgs e) {
}
ようやく新しいiMacがでるようです。11月が楽しみだぁ。
Kindle Paperwhiteが安いのだが3Gがあったほうが良さそうな気がしないでもない。まぁ無線LANルーターもポケットWi-Fiももってないしな。
_ jcskbjw [http://www.zimbio.com/Loans/articles/0oGquJUjTaQ/EASY+ONLI..]
_ flnmpwx [http://www.zimbio.com/Loans/articles/_buwFW7mE4s/PAYDAY+LE..]