Fight the Future

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

TestNG

IntelliJでTestNGの日本語名のテストメソッドが、MalformedByteSequenceExceptionになるとき

ここ数カ月でIDEをeclipseからIntelliJに変えました。 もう戻れません。年末のセールで、IntelliJのライセンスを買うことに決めています。で、IntelliJでTestNGのテストを書いて、そのテストメソッドだけ実行、ってやると、「MalformedByteSequenceException…

カバレッジについて以前から考えてたみたい

コードカバレッジは有益? - Fight the Future じゅくのblog テストカバレッジの意味 - Fight the Future じゅくのblog ただ、カバレッジと一言で言ってもいろんな種類がある。 クラスカバレッジ メソッドカバレッジ ステートメントカバレッジ ブロックカバ…

Javaのコードカバレッジツール

参考文献 Next Generation Java Testing: TestNG and Advanced Concepts作者: C馘ric Suleiman, Hani Beust出版社/メーカー: Addison-Wesley Professional発売日: 2007/10/15メディア: ペーパーバック クリック: 28回この商品を含むブログ (5件) を見る Clov…

TestNG5.10ではデータプロバイダを使用した並列処理でのテストが追加される

Otaku, Cedric's weblog: Advanced parallel testing with TestNG and data providers TestNGのデータプロバイダを利用してのより進んだ並列テスト TestNGは別々のスレッドでテストを実行できる。スレッドプールサイズとタイムアウトを設定するだけでいい。T…

Announcing TestNG 5.9

TestNGがバージョンアップしました。内容を簡単に翻訳します。Otaku, Cedric's weblog: Announcing TestNG 5.9 バグフィックスといくつかの新機能をリリース。 クラスを指定して並列処理が可能になった。以前のバージョンでは「methods」か「tests」を指定で…

DbUnitNGのロゴを作ってもらいました!

TestNGとDbUnitを連携させ、より簡単にデータベース接続テストを作成できるようにします。たとえば、アノテーションを用いて初期データを投入できます。 DbUnitNG プロジェクト日本語トップページ - SourceForge.JP

新規ではなく改修プロジェクトではJUnitよりTestNG

だと実感。 すでに動作しているアプリケーションだから、テストを作成するスコープが通常と逆になる。 つまり、unit→functional→integrateが新規であるなら、integrate→functional→unitとなる。 それはもちろんすでに動作しているから。 この場合unitをメイ…

ScalaでTestNGのテストをする

Javaで書いたこういうTestNGのテストがある。 import static org.testng.Assert.assertEquals; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class TestNGSample { private Target target; @Test public void v…

ちょww『The Art of Unit Testing』wwww

来年2009年3月に『The Art of Unit Testing』って本がManningから出るらしい。 が、その画像がこれ。 武士。。。

DbUnitNG10,000ページビュー突破&ダウンロードもしてもらえてる

TestNG + DbUnitのライブラリDbUnitNGですが、 日々見てもらえてるみたいです。 僕がまったく見ていない日でも1日100ページビューぐらいあって、 ダウンロードもようやく20を超えてくれました。 内輪がどれだけかわからないですがw でも今まで僕1人でやって…

LazyなDataProvider-TestNGをさらに深く理解してみる(3)

@ITさんの連載でデータ駆動テストで簡単にテストのパターンを増やすを解説した。 DataProviderはTestNGで注目を集める便利な機能だ。 DataProviderのメソッドはObject配列を戻り値とすればよいだけなので、 ファイルからでもデータベースからでもテストデー…

アノテーショントランスフォーマー-TestNGをさらに深く理解してみる(2)

打って変わって、今回は実装の話。 TestNGでは実行時に@Testのさまざまな属性の値を変えることができる。 それがアノテーショントランスフォーマー。 TestNGのバージョン5.3からの目玉機能。 サンプルで試してみる。 まずはテストクラス。@Testのtimeout属性…

ステートフルなテスト-TestNGをさらに深く理解してみる(1)

@ITさんの連載も終わり、Next Generation Java Testing: TestNG and Advanced Conceptsをネタに記事では書かなかったことを紹介していく。 不定期連載の予定。 ステートフルなテストとは TestNGは各テストメソッドの呼び出しで同じインスタンスを利用する。…

@ITさんTestNG記事最終回公開!

実現場でTestNGを活躍させる“5”つのテクニック (1/3) - @IT via kwout @ITさんで初連載いたしましたTestNG記事の最終回が公開されました! 【1】Antからテストをサクッと実行! 【2】テストを並列実行してスピードアップ! 【3】いままでのJUnitのテストは…

DbUnitNG0.6リリース!

DbUnitNGバージョン0.6をリリースしました!AssertionHelperクラスのアサーションメソッドから引数としてClassクラスをすべて除きました。 実行したテストクラスはThreadLocalにあるため、引数として渡す必要がなくなりました。Javadocも再生成しています。 …

DbUnitNG0.5リリース!

DbUnitNGのバージョン0.5をリリースしました! ダウンロード - DbUnitNG - SourceForge.JP アサートメソッドの呼び出しがやや煩雑な感じで、ThreadLocalを使ったらどうかという提案(とパッチ)をもらったので、 導入したいと思います。 これでアサートの引数…

アノテーションのデフォルト値を一覧にしました

TestNG + DbUnitライブラリ「DbUnitNG」で、アノテーションのデフォルト値がわかりづらいという指摘をいただいたので、 AnnotationDefault - DbUnitNG Wiki - SourceForge.JPに一覧にしました!

依存ライブラリもコミットしました

DbUnitNG プロジェクト日本語トップページ - SourceForge.JPですが、 Subversionに依存するライブラリもすべてコミットしました。 libディレクトリに入っています。 eclipseなら.projectと.classpathもコミットしているので、 それもチェックアウトしてもら…

@ITにTestNGの記事を連載します

JUnitより簡単なオープンソースの「TestNG」とは? (1/3) - @IT via kwout というわけで、これからTestNG普及への活動をしていきます。このBlogもそうだけど、より多くのエンジニアの目に触れるようなところでもTestNGを紹介しようと思います。 DbUnitNGの…

テストコードは違う言語がいい

個人的にはエンタープライズなシステムはJavaを始めとする静的言語が適切だと思ってるけど、テストコードまでJavaで書く必要はないんじゃないか。 テストコードというのはその対象(メソッドとか機能)の第1のクライアントだ。 つまり、使う側であって使われる…

TestNGでテストにプライオリティをつける

Otaku, Cedric's weblog: Test method priorities in TestNGでTestNGの開発者であるCedricがテストメソッドにプライオリティをつける方法を紹介してます。 TestNGには豊富なリスナーインタフェースがあり、リスナーのメソッドの中でテストメソッドのアノテー…

DbUnitNGの今後

TestNGとDbUnitNGを連携するライブラリDbUnitNGは、考えていた機能は作り終えました。 今後は、ライブラリのテストケースを増やして、バグを修正します。 多くの機能を提供するライブラリでもないので、使いやすいと思います。 提供する機能は、大きく3つで…

TestNG+DbUnitライブラリはApache License, Version 2.0に対応しました

DbUnitNG プロジェクト日本語トップページ - SourceForge.JPのライセンスをApache License, Version 2.0にきちんとしました(つもりです)。 以下のことをしました。 LICENSE.txtをトップディレクトリに配置する ソースコードにライセンスへのリファレンスを追…

社内勉強会で発表したJUnit4&TestNGの資料を公開します

日曜日に社内勉強会をしました。 僕は株式会社クロノスに所属しているんですが、「クロノスエンジニアの会」略して「エン会」というタイトルで勉強会をしました。 今までの勉強会のスタイルと変えて、デブサミのようなイメージで社内の有志数人で、様々な内…

TestNGのテストをAntで実行する

<taskdef resource="testngtasks" classpath="lib/testng-5.8-jdk15.jar" /> <path id="run.cp"> <fileset dir="lib" includes="*.jar"/> </path> <target name="run-tests"> <testng classpathref="run.cp" haltOnfailure="true"> <…</testng></target></taskdef>

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」という…

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ファイル…