2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと
既に実行されている Java アプリケーションが多重起動出来ないようにする方法。 まず、main() メソッドの冒頭に、以下のように記述する。 IOException の処理も忘れずに。 FileOutputStream fos = new FileOutputStream("./temp/lockfile"); FileChannel fchan = fos.getChannel(); FileLock flock = fchan.tryLock(); if (null == flock) { // 例外 throw 等、ロックが取得できなかったときの処理を記述 } ファイル"./temp/lockfile"はロック用一時ファイルであり、このファイルに対するロックを取得を試みることで、プログラムが既に起動されているか否かを判定する。 ロック取得できなかった場合、変数 flock は nu
連載目次 数字からなる文字列を数値に変換するには、「TIPS:文字列を数値に変換するには?」で解説しているように、Int32型やDouble型などのParseメソッドが利用できる。 しかしParseメソッドは、変換しようとしている文字列が正しい形式でない場合や、値がその数値型の範囲に収まっていない場合には変換に失敗し、例外を発生する。例外の発生にはコストがかかるため、変換が失敗する頻度が高いケースではアプリケーションのパフォーマンスが悪くなってしまう。 変換時に例外が発生しないようにするためには、あらかじめ文字列が数値として有効かどうかを精査する必要があるが、.NET Framework 2.0ではそのような処理を行った後に変換を行ってくれるTryParseメソッドが新しく追加されており、従来のParseメソッドの代わりに利用できる。 例外を発生しないTryParseメソッド TryPar
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く