Java

おれおれXlsDataSetを作る

DbUnitについて、昨日のエントリの件がなんとなく納得いかなかったので拡張してみた。 といっても、XlsDataSetとXlsTableをまるまるパクってXlsDataSet2とXlsTable2というのを作り、 次の2点を変更するだけ。 XlsDataSet2のコンストラクタ部分 _tables[i] = …

DbUnitでDBにデータがないことって

ITable#getRowCount()で検証するのかぁぁぁ。 Excelでカラム名のみのシートを作成すると、データがない場合はカラム情報を 読み込んでくれないのでassertEquals(ITable, ITable)でカラム数が変だよってエラーになる。 空のテーブルだけ別に検証しないといけ…

staticイニシャライザって、アノテーションつけられねー

ってタイトル通りなわけで。 内部的にはメソッドなんだし、別に付けられたっていいと思うんだけどなー。 今のところ付けたくなったことはないので、どーでもいいんだけど。 ついでに、インスタンスイニシャライザも付けられない。 って、これ自体使わないか。

DbUnitの最新版つかってみたら

なんかはまった。 バージョンは最近更新された2.2.1というもの。 1つ目 SLF4Jが使われてた。 今まではなんも使われてなかったはずのに。 # 最初にLoggerがないと言われて、スタックトレースをまともに見ずに # 無条件でcommons-loggingとかlog4jをパスに通し…

アノテーションの要素が配列の場合のデフォルト値

こーやればできんのかと思ってた String[] value() default new String[]{"hoge", "foo"}; でもできねー。 てきとーやってたら、こんな感じで出来た。 String[] value() default {"hoge", "foo"}; 初めて知った。 というか、Eclipseで親切にこんなエラーが出…

StrutsTestCaseが復活してた

前に、しばらく更新されてないしStruts1.3じゃ動かないしで、 もう使わないほうがいいのかなーと思ってたStrutsTestCaseが、 3年ぶりに更新されてた。 TOPページにStruts1.2と1.3に対応してますって書いてあるので、 前回のようなエラーはおこらない雰囲気。…

モックによるテストをサポートするツール

djunit EasyMock jMock JMockit Mockito いっぱいありすぎじゃね? どれがいいんだかさっぱりだよ とりあえず使えるのを明日までに教えてくれよ って某おっきい人が言ってた。 ところで、モックテストという言葉に違和感があるのは自分だけでしょーか? モッ…

プラグインペアプロ会

id:daisuke-m家で行われたペアプロ会におじゃましてきました。 私はid:kompiroさんと、某嫌がらせプラグインのテストコードを 書くことにチャレンジしました。 そして出た結論: プラグインのテストをきちんと書くの辛すぎ 今回はUIの部分はシカトして、ロジ…

java-ja第伍.漆回&第八回

どっちも参加してきました。 第伍.漆回は、参加表明してない&深夜3時の到着にも関わらず みなさん温かく迎えてくれました。 到着前からずいぶんと飲んでいたせいか、話したことはほとんど覚えてません(!)が、 楽しい時間をすごせてよかったです。 第八回…

JDaveをさわってみた

RSpecのJava版っぽいJDaveをさわってみた。 # そもそもRSpecどころかRubyも知らないけど。 あんまり時間がないので、てきとーまとめ。 試す とあるStackクラスを作るとして、そのStackクラスの仕様は 次のように定義できる。 空のStackの場合 空である 何か…

TCPモニタ(・∀・)イイ

ずいぶん前に使ったことがある、Axisに付いてくるTCPモニタ。 ちょっとした理由から久しぶりに触った(存在を忘れてた)けど、 やっぱ便利っす。 というわけで、名前を忘れないようにメモ。 パケットキャプチャまでいくとおおげさだけど、 こういったさくっ…

void

ふと、voidを辞書で調べてみた。 1 (通例a 〜)空虚感, 喪失感, 物足りなさ, 心の空隙 ・・・ Yahoo!の辞書より なんかかなしい。 つまり、呼び出し側は戻り値が返ってこないむなしさを ひしひしと感じてしまうから、voidなのか。うむ。 ・・・。 ちょっと時…

クラスパスを自動で追加するプラグイン

自分の場合、とあるライブラリのテスト用とか、ちょっとしたツール用なんかで Eclipseのプロジェクトをけっこうたくさん作成する。 このとき、プロジェクトのプロパティ画面でクラスパスにライブラリを追加する必要があるけど、 この手順がけっこうめんどい…

行番号を印刷

EclipseでJavaのファイルを印刷すると、きれいに出る(ような気がする)ので、 好きなんだけど、1つだけ難点がある。 それは、行番号が印刷されないこと。 これまでだと、前に日記に書いたJava2Htmlを使って回避する 方法がメジャーだったみたい。 でも、Ecl…

配列の最後の要素後にカンマ

String[] hoge = {"a", "b",};まぁ、動作にはかんけーないけど、 気持ち悪いからエラーにしてほしいなぁ。 A型すぎ?

Jumble使ってみた

すげー面白い。 プラグインもあるので、さくっと試せるし。 というわけで、簡単にまとめてみる。 概要 Jumbleとは 作成したテストケースの有効性を検証するツール。 テストケースの点数を0%(悪い)から100%(良い)の値で出力する。 どーやって検証するのか テ…

Telnetにすこしふれる

kompiroさんのコード(http://d.hatena.ne.jp/kompiro/20071029/)を、 WindowsのTelnetサーバに向けてやってみた。 そして、ログイン後でいきなり文字化けしたorz 解析すると、カーソルとか画面を制御するようなエスケープシーケンスが 一緒に返ってきている…

メソッドの長さの限界

メソッドが大きすぎる場合、Eclipseだとこんなエラーが出る。 The code of method [メソッド名] is exceeding the 65535 bytes limit javacだとこんな感じ。 Hoge.java:2: コードが大きすぎます。 public void method() { ^ エラー 1 個 エラーが出ないぎり…

条件付きブレークポイント

Eclipseでデバッグする際に使うブレークポイント。 こいつに、条件を満たした場合だけ実行を止めるように設定できたらしい。 地味に知らなかった。 ブレークポイントを右クリ>Breakpoint Propertiesを選択 てきとーに条件を入力する。 条件には、そのブレー…

アノテーションInherited

某ソースを眺めてたら、アノテーションで@Inheritedというのが使われていたけど、 Javadocを読んでも何を言ってんだかよくわからない。 すこし調べてみると、継承したクラスにそのアノテーションが引き継がれるかどうか、 という意味があるらしい。 というわ…

JUnit-addonのFileAssertにバグ

隣の人から聞いて、確かにそうだなーってなお話。 JUnit-addonsのFileAssertのassertEqualsにはバグがあって、 ファイルの大きさが8192バイト以上の場合に正しくチェックできない。 原因は、FileAssertのL232で無限ループになっていると見せかけて、 L258でr…

JFCUnit

Swingの試験ができる、JUnitを拡張したツール・・・らしい。 使ったことないのでよくわからん。

寝ぼけて書いてたっぽいコード

どうも眠りながらコードを書いていたようで。 new Thread(new Runnable() { public void run() { // いろんな処理 } }).run();いや、非同期になってないから・・・。

アノテーションの任意の属性

アノテーションで、任意に指定できる(指定しなくてもいい)ような属性を定義したい場合、 単にデフォルト値を指定すればいいみたい。 @Target(value={ElementType.FIELD}) @Retention(value=RetentionPolicy.RUNTIME) public @interface Hoge { String name…

EMMAのプラグイン版

カバレッジを計測できるツールにEMMAというのがあるけど、 これのEclipseプラグイン版があったらしい。 EclEmma Viewがすごーく見やすいと(個人的には)思う。 今まではよくdjUnitを使ってたけど乗り換えよーかなぁ。 ただ、ブランチカバレッジが出ないのが…

PostgreSQLで思わぬエラー

とあるプログラム(というかテストケース)を流すと、↓のような例外が出た。 org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block実際のテストケースはこんな感じ。 try{ // execu…

JUnit JNDI DataSource helper package

JNDIからDataSourceを取得するようなコードがあっても試験できるようにしてくれる、 JUnit JNDI DataSource helper packageというツールがある。 とあるSpring+Strutsのアプリの単体試験で、 StrutsTestCaseを使うとstruts-config.xmlが読み込まれる。 plug…

StrutsTestCase・・・

Struts1.3系に対応してないっぽいorz verifyForwardをやったら、こんなん出た。 java.lang.NoSuchMethodError: org.apache.struts.config.ForwardConfig.getContextRelative()Z at servletunit.struts.Common.verifyForwardPath(Common.java:304) at servlet…

DbUnitのつづき

他にもこんなことができるっぽいメモ。 あんまり余裕がないので走り書き。 前処理・後処理の動作を変更する デフォルトだと、 前処理:getDataSetで指定したテーブルのデータを全削除し、データを入れる。 後処理:何もしない。 となっているが、この動作を…

DbUnit

いまさらだけど、初めてDbUnitに触ったので走り書きメモ。 JUnitのテストケースを回帰テスト用に作成する場合、DBにアクセスするクラスは、 DBのデータも常に同じ状態にしなければならない。また、テスト対象実行後に のDBの状態を確認するときなんかも、テ…