JBoss seamでtestNGのSeamTest
Updated Date: 2024/03/25 02:40
JBoss SeamといえばJavaのWebなんでもフレームワークなんだけれど、
こいつには色々と便利なサードパーティがたくさん付いている。
例えばO/Rマッピングを実装して楽チンDB操作を提供するHibernateや、
RailsのERBのようなJSFなどがそうである。
他にもInfinispan(JBoss chache)とかいうキャッシュDBや、jbossWsというWebService(REST、SOAP)実装を実現するものまである。
それらをSeamというフレームワークで繋ぎ合わせて使うわけだ。
つまりJBossは色々なフレームワークの集合体ということでFA。
んで、この中にTestNGというJUnitから派生したテスト自動化ツールがある。
これを使ってSeamコンポーネントをテストするためには、
テストクラスに SeamTestというクラスを継承させる必要がある。
それに含めてJBoss Embedded というJBoss ASの簡易版みたいなものを用意してやる必要もある。
seam genでプロジェクトを作っておくと比較的簡単にTestNG with Seamを導入できるんだけど、
そうでないと色々と大変。
テストケースを実行するまでに丸2日かかってしまった。
しかもテストケースを実行できる段階まできたと思ったら、今度はAssertionErrorというExceptionが発生し、
未だに青いテスト成功ケースのバーを見ること叶わず……。
僕がどうしてそこまでしてテストの自動化に拘るのかといえば、
それは先日記事にしたとおりJenkinsを利用して、デグレード試験や単体・結合テストの再実施も自動化してしまおうという考えがあるからだ。
JUnitはデフォルトではSeamコンポーネントを利用したテストが出来ないので、
まずは簡単なTestNGから……と思っていたけど、これも簡単ではなかった。
やっぱりJavaって面倒だ。
テストするにもデプロイで毎回数分待たされるし、やる気が削がれる。
面倒なことは極力やりたくないというスタンスで、明日もがんばることにした。