JJUG CCC 2017 FallでAssertJを推してきた

11/18(土)に開催されたJJUG CCC 2017 Fallで1年ぶりに登壇してきました。
タイトルは、「ユニットテストアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て」でした。(フレンチのメニューをオマージュしました)
f:id:b1a9id:20171124004247j:plain

50人くらいの部屋だし、11時からだったので半分入ればいいかなと思っていました。でも10分前くらいには既に70人くらい入っていて緊張MAX!!!

何回か練習したから大丈夫と思ってたけどやはり人前に立つと緊張する〜
AssertJ使ったことある人という質問に対して、1割いるかいないかでしたね。素敵なのに案外使われていないことが判明!
自分のレベルの話しでも、AssertJいいなって思ってくださった人がけっこういて非常によかった♪
今回は、大事故スライドなしで挑んでよかったわw(当日の2時まで入ってたけど消した)
ちなみにスライドはこちら。

www.slideshare.net

話して感じたことここまでにして、アンケートで質問等をちょっといただいたのでそれの回答をしようかと思います!

いただいた意見と回答

1.JUnitとの記述の比較がとてもわかりやすかったです。使っている人がまだ少なそうなので、情報を探すのは大変ではなかったでしょうか。そのような点もお話聞かせていただきたいと思いました。

結論から述べると、公式リファレンス読んで、JavaDoc読んで、コード読みました。
まず、AssertJを使おうと思ったきっかけはこの本です!
gihyo.jp

これを見ていた時ちょうど、会社でユニットテストライン80%目指そうぜ計画がはじまりました。
Serviceのテストを書いていて、assertEqualsいっぱいだし、コピペでつまんないってって思っていました。そこでAssertJを書いてみると、書きやすさ、コードの美しさ、エラーメッセージのわかりやすさどれをとっても素敵でした。
AssertJは、1年くらい使ってるのでそれなりの知見はあったのですが、登壇のためにリファレンスを1から読みました。そして実際に手を動かしました。
AssertJの公式リファレンスは、ロードオブザリングとかスターウォーズのキャラクター出てきて案外楽しく読めます!JavaDocは、書き方例が書いてあって理解しやすいです。

2.自分も知らない使い方の紹介もあって良かったです hamcrest matcherとの違いやメソッドチェーンの説明があるともっとわかりやすかったと思いました。

既に使っていらっしゃるんですね。ためになること話せてよかったです。
なお、hamcrest matcherの経験はほぼ皆無(ほぼAssertJしか使ったことない)なのです。
メソッドチェーンの説明とは、それぞれの検証のことですかね?次回に活かします!


以上です。
登壇するとフィードバックがよくても悪くてもとても嬉しいです。
またネタ探して登壇したいと思います!!!