Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

2008-08-01から1ヶ月間の記事一覧

同僚が@ITにJBoss Seamの記事を書きました

会社の同僚が@ITにJBoss Seamの記事を書きました。 Webの上のポジョをステートフルにつなぐJBoss Seam (1/3) - @IT via kwout よかったらみなさん読んでみてください。 @ITなので、内容はあまり技術的な動向を知らないって人を意識したものになってます。 EJ…

Googleの人材吸収力

「全員がスーパースターじゃなくていい。それぞれに頑張れば、尊重されるし尊敬もされる」 自分の意見にスーパースターが耳を傾け、アドバイスしてくれる体験を重ねた。 「自分が面白いと思っていることをやっている人が、一番面白いものを作る」という考え…

DbUnitNG0.4リリース!

TestNG+DbUnitライブラリであるDbUnitNGのバージョン0.4をリリースしました。 ダウンロード - DbUnitNG - SourceForge.JP DbUnitNGは、TestNGとDbUnitを連携させ、SetUpやTearDownのアノテーション化、BeanのListをDbUnitのデータセットへ変換といったことを…

DbUnitライブラリでDBデータをXML,Excel,CSVに出力するクラスを作りました

DBに接続して、任意のテーブルあるいは全テーブルをDbUnitの形式でファイルに出力するユーティリティクラスを作りました。 org.dbunitng.data.TestDataFileMakerクラスです。 使い方は簡単です。 public TestDataFileMaker(String driver, String url, Strin…

DbUnitライブラリでCSV形式のファイルにも対応しました

TestNG+DbUnitライブラリDbUnitNGで、初期値や期待値のファイルとしてCSVにも対応しました(他はXMLとExcel)。 意外に知らないDbUnitでCSVを使う方法 - Fight the Future じゅくのblogにあるように、DbUnitではCSVファイルの場合「table-ordering.txt」という…

じっと座っていてもシステムは作れない

散歩に行ってはいけない? どうして業務中に散歩に行けないんだろう?という疑問から考えてみた。 僕は協力会社としていろいろな会社のプロジェクトに参画している。 でも、いまだかつて散歩に行けたプロジェクトはない。 10分散歩していいですかと聞いてOK…

DbUnitのCSVでnullを扱う

値としてnullとそのまま書くだけでOK。 row[col] = row[col].equals(CsvDataSetWriter.NULL) ? null : row[col]; public static final String NULL = "null"; こんな定数もあるから、きちんとダブルクォートもエスケープしてくれるみたい。 private static f…

意外に知らないDbUnitでCSVを使う方法

「dbunit csv」で検索してもヒットしなかったので書いておく。 DbUnit2.1から、初期値や期待値をCSVファイルに書くことができる。XMLやExcelの代わりに。 使い方はとても簡単。 テーブル名.csvというファイルを作成する(EMPテーブルならemp.csv) CSVファイル…

@TableAssertでクエリをファイルに書けます

TestNG+DbUnitライブラリであるDbUnitNGで、DbUnitライブラリ@TableAssertでDBとアサートできます - Fight the Future じゅくのblogにある@TableAssertに機能を追加しました。結果をDBから取得するクエリをプロパティファイルに記述できるようにしました。 @…

Google Testing Blog

さらに、Googleは「Google Testing Blog」というBlogをやっていた。 内容もかなり興味深い。 ただ、1エントリの文章量が多く、読むのが遅い僕にはつらい。。。 Google Testing Blog

Google Test Automation Conference

さっきのTestNGの動画で知ったばかりだけど、どうやらGoogleは毎年Google Test Automation Conferenceというのをやってる。 Google Testing Blog: Call for Attendance: GTAC 2008 今年はシアトルで10/23,24にやるみたい。 TestNGの動画は去年のもので、資料…

TestNGのプレゼン

FounderであるCedric BeustのGoogle Test Automation Conferenceのプレゼン。

世界一やさしいTestNGの使い方

JARファイルをダウンロードする TestNGのサイトにいきます。 メニューから「Download」を選びます。 「download TestNG here.」のリンクを押すと最新のJARファイルをダウンロードできます。 ダウンロードしたzipファイルを解凍します。 解凍したディレクトリ…

@TableAssertだと何がいいのか

僕の作っているTestNG + DbUnitライブラリでDBとのアサートをアノテーションで指定できるわけですけど。 @TableAssert(names = "dept", pathname = "insert_expected.xml") @SetUpOperation(pathname = "dept.xml", value = DatabaseOperationType.DELETE_AL…

JUnitは死なず

JUnitはTestNGよりも多く採用され拡張されているものの、TestNGの方が多くの機能を提供し、JUnit用のテスト(スクリプト)を実行することも可能なので、テスト・フレームワークとしてTestNGを選択する方が魅力的な選択に思えるようである。 InfoQ: JUnitは死な…

DbUnitライブラリ@TableAssertでDBとアサートできます

DbUnitNG プロジェクト日本語トップページ - SourceForge.JPで期待値のファイルとデータベースのテーブルをアサートするアノテーションを作りました。 @TableAssertです。 こんな感じ。 @TableAssert(names = "dept", pathname = "insert_expected.xml") @Se…

ひらめきは魔法じゃなく技術の蓄積だって

コレ読んでる。 イノベーションの神話作者: Scott Berkun,村上雅章出版社/メーカー: オライリー・ジャパン発売日: 2007/10/29メディア: 単行本購入: 15人 クリック: 177回この商品を含むブログ (64件) を見る まだ途中だけど、めっちゃおもしろい。 ひさびさ…

TestNG eclipseプラグインでのリスナークラス登録の続き

TestNGプラグインのリスナーより順序を前で自分のリスナーを登録したい - Fight the Future じゅくのblogで困っているわけだけど、 こりゃTestNGのソースを変えないと無理かもしれないなあ。 TestNGのeclipseプラグインはTestNGクラスではなくサブクラスのRe…

はてな記法からSourceForgeのWiki記法に変換する

自分で作ってるライブラリの使い方とかこうやってはてなに書いてるんだけど、 プロジェクトWikiにまとめるときに、はてなとSourceForgeのWikiの記法に違いがあって変換に手間がかかる。 すべてうまく変換できないけど、主要なものは変換するスクリプトを書い…

DbUnitライブラリで期待値nullはこう表します

<dataset> <DEPT DEPTNO="10" DNAME="[null]" LOC="NEW YORK"/> </dataset> [null]と記述すると、nullとして扱います。 AssertionHelperクラスを使ってアサートする場合です。 内部的にはReplacementDataSetを使っています。

DbUnitNG0.3リリース!

DbUnitNG プロジェクト日本語トップページ - SourceForge.JP 期待値ファイルからデータセットを作成する際に、ReplacementDataSetを使用するようにしました。 @SetupOperationにおいてテストスイート全体でデフォルトのでDatabaseOperationを設定できるよう…

後輩が「エンジニアの未来サミット」に行く

会社の後輩がエンジニアの未来サミットに行くと言ってきた。 素直にうれしい。 ついにそういう後輩ができたと思うとうれしくてたまらない。 仕事で行くわけじゃないので自費だ。 僕もデブサミに行ったとき、自費だった。 それでも、払った分は、いやそれ以上…

TestNG ML(英語)に投げてみた

TestNGプラグインのリスナーより順序を前で自分のリスナーを登録したい - Fight the Future じゅくのblogがどうしてもわからないので、 testng-users | Google Groups に投げてみた。 Hi, With TestNG eclipse plugin, I add my listener class. Then listen…

TestNGプラグインのリスナーより順序を前で自分のリスナーを登録したい

eclipseのTestNGプラグインを利用してデバッグ実行すると、 リスナーは以下の順で Listに入っていた。 [org.testng.remote.strprotocol.RemoteMessageSenderTestListener@50cf54, org.testng.reporters.TextReporter@5bc8c9, org.dbunitng.listeners.DbUnitN…

@TableAssertでアサートしたかったけど、失敗

誰か助けてください>< 期待値とDBのテーブルを比較するようなテストなら、アサートもアノテーションでできるようにしようと考えた。 こんな感じで。 @TableAssert(names = "dept", pathname = "insert_expected.xml", queries = "select dname, deptno, loc …

「失敗」への対策は「管理」じゃない

「失敗」を繰り返さないための対策は「管理」を強化することじゃない。 たとえば、プロジェクトにおいてあるメンバーのスケジュールが遅れていたことが後でわかった。 よくある対策としてはメンバーの進捗を「より」きちんと管理するという発想。 これが「管…

DbUnitで読み込むファイルの値にnullを設定する

DbUnitでは初期値や期待値をXMLやExcelに記述することができる。 ただ、nullを表現したいときは困ってしまう。 たとえばXMLで次のように記述したとする。 <dataset> <HUMAN NAME="jyukutyo" NULLCOLUMN="" /> </dataset> この場合、NULLCOLUMNはnullではなく空文字となる。 本当にそうなるかサンプルプログラムで読み込…

DbUnitでSQL文の結果をそのままデータセットにする

public static void main(String[] args) throws Exception { JdbcDatabaseTester tester = new JdbcDatabaseTester( "com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1/testframework", "root", "root"); QueryDataSet dataSet = new QueryDataSet(tester.…

SQL文からテーブル名にマッチさせる正規表現

.*\s+from\s+(\w+\.)?(\w+).*select * from jyukutyo.emp where empno = 1; select * from emp where empno = 1; だとgroup(1)で「emp」が取れます。 スキーマ名を含める場合はこっち。 .*\s+from\s+(\w+(\.\w+)?).*元ネタはDBUnit Made Easy - O'Reilly ONJ…

TestNGでXMLを使わずにテストを実行する

TestNGではtestng.xml(ファイル名は任意)というXMLを使ってテストを実行するのですが、 XMLを使わずにプログラミングでテストを実行することもできます。 public static void main(String[] args) { TestNG testNG = new TestNG(); testNG.addListener(new D…