「Javaの鉱脈」でGeb(じぇぶ)の記事を書きました

WEB+DB PRESSのVol.85で、E2Eテストの記事を書いたので是非読んでくださし。

2015/2/24発売ですので、既に購入頂いてる方も多いと思います。

電子書籍版もありますので物理的な媒体に興味がない方はPDFを買って下さい。

今回の記事における対象読者について

Seleniumは知ってるけどWebDriverのAPI辛すぎワロタという方を対象に記事を書きました。僕もそうです。

WebDriverのAPIは本当に本当に使い辛いのですがGebなら、それが大きく低減されますので是非一度さわってみて欲しいですね。

jQueryに似てるけど所々違う様な感じがするAPI越しにDOMを検証するのは便利ですよ。それによって大切な何かを失ってる感は確かにあります。

僕としては特に意図していなかったのですが、Vol.85の特集はSeleniumですのでそちらを読んで大筋でSeleniumを分かった感じになったところで読んで頂けると無理がありません。非常に読み易い特集ですので、Seleniumを既にご存じでも一読の価値があるかと存じます。

記事の内容について

僕のバックグラウンドから言うと「E2Eテスト」と呼ぶのではなく「システムテスト」と書きたいのですけども、特集と連載で用語がズレてるのは単に読者を混乱させるだけで益が少ないのでここではE2Eテストと書いています。

Gebは実装言語がGroovyですので、ちょっと将来的な不安があるような気がしないでもありません。cf. Groovy 2.4 And Grails 3.0 To Be Last Major Releases Under Pivotal Sponsorship

一方でGradleやJenkins等Groovyを中心としたプロダクトは多くありますので、それらが一斉にGroovyから離れることが出来るかと言うとそういうことは無いかと思います。

それとは別にPageObjectってどうなんかなー…って思っています。 ReactやAngularのようなガッチガチのJavaScriptを使って作ってるUIに対してPageObjectを定義するのって、何か二度手間感あるというか変更の追跡可能性やテスト設計のあり方においてどうなんだろうなーって気持ちはあります。

この辺は上手く整理できなかったので記事としては書けませんでしたけども、この辺について僕とブレインストーミングっつうか、殴り合いというか、議論というかそういうことに興味がある人がいらっしゃいましたら、晩飯くらいは原稿料から出しますのでお相手をお願いしたいですね。

最後に

Gebは具体的なツールなんですけども、そもそもどういう風に考えて使うべきかは別途学習する必要があって、概念的な部分を適切に理解していないと、あとで酷い事になります。

そこで、GebやSeleniumでE2Eテストしようかなって皆様におかれましては是非以下の書籍にも目を通して頂きたいと考える次第です。

内容は極めて妥当であるように感じていますが、用語がJSTQBっぽい方面に厳密な感じで扱われているので良く似ているけども厳密には違う単語が沢山でてきてプログラマにはちょっと読み辛いなぁ…と思いながら読みました、ええ。