【解決済み】KotlinでWebTestClientを使うと、ジェネリクスまわりでハマる
問題
WebTestClient.BodySpec
のisEqualTo
メソッドを呼び出すと、ぬるぽる。
webTestClient.get() .exchange() .expectBody(MyApiBody::class.java).isEqualTo<Nothing>(expectedBody)
isEqualTo
を呼び出すためには、その型引数としてNothing
を指定する必要がある(そうしないと、コンパイルが通らない)。
これを実行するとNullPointerException
が発生する。
解決方法
拡張関数のexpectBody
を使用する。
ただし、IDEはこの拡張関数をサジェストしてくれないので、自分でインポートする(サジェストさえしてくれていれば、あまり悩まずに済んだのに...)。
// これをインポート import org.springframework.test.web.reactive.server.expectBody
webTestClient.get()
.exchange()
.expectBody<MyApiBody>().isEqualTo(expectedBody)
コードの見た目もKotlinらしくスッキリし、テストもちゃんと実行される。
参考: [SPR-15692] Kotlin unable to inherit type for WebTestClient#BodySpec - Spring JIRA
あーまたKotlinのジェネリクスまわりのバグ踏んだっぽい...
— たろう (@ngsw_taro) August 20, 2018
30歳になりました!
本日、30歳の誕生日を迎えました 🎉
やはり、ひとつの区切り感はありますね。 せっかくなので、僕のこれまでのプログラマー人生について話します。
完全にチラ裏の自分語りです。 ドラマチックな展開もなければ、知見も教訓もありません。 ただ、昔のこと、プログラミングを始めた頃のことを思い出して整理してみたら、自分が初心に返るための便利アイテムになるじゃないかなと思い、 記憶があるうちに書いておきます。
簡単にまとめると
これまでの人生を振り返って、一言で表すと「運がよかった」ですね。 夢中になれるもの、仕事としてやっていきたいものが見つかったのは、とてもありがたいことですが、運とか偶然と言うほかありません。 そして、これも運命の巡り合わせとして、いろんな人と出会いました。 それが自分の人生にものすごくプラスになっていて、感謝しかありません。
では本編を。以降、常体で。
続きを読むKotlin Fest 2018 開催のお知らせ #kotlinfest #jkug
本邦初!Kotlin 1day 技術カンファレンス
Kotlin Fest 2018 を開催します!!
- 日程
- 2018年8月25日 土曜日
- 会場
- 東京コンファレンスセンター品川 5F
- 主催
- 日本Kotlinユーザグループ
- コンテンツ
- 2トラック 10セッション、企業展示ブース(予定)
Kotlin Fest 2018 は「Kotlinを愛でる」をビジョンに、Kotlinに関する知見の共有と、Kotlinファンの交流の場を提供する技術カンファレンスです。 プログラミングをより楽しくしてくれるKotlinへの関心は日々高まっており、それが本イベントの開催へと繋がりました。 Kotlinの技術にフォーカスしたコンテンツを取り揃えることで、参加者の皆様にKotlinをより深く学んでいただき、 そして、よりKotlinを好きになっていただけるイベントにするべく、企画を進めております。
2018年の初めに開催されたAndroid業界のトップエンジニア1000名以上が参加する技術カンファレンス「DroidKaigi 2018」のオープニングで、本イベントの開催をサプライズで告知しましたが、Kotlinの応用分野としてはAndroidだけではなく、サーバーサイドなど幅広い分野での活用が期待されており、本イベントも様々な分野の開発者の参加を想定しています。
今後のスケジュールとしては、近日中のイベントページの公開を目指しております。 そして、参加申込の開始は7月中旬を予定しております。
スピーカーは全員、企画・運営チームによって招待させていただいたエンジニアの方々となります。 一部の時間を使って、ライトニングトーク大会のようなものを計画中で、こちらのスピーカーは公募を行う予定です。 あわせて、当日のボランティアスタッフの募集も行います。 詳細は追ってご案内いたします。
また、本イベントに協賛いただける企業様の募集を行っております。
名称 | 壇上バックパネルに貴社ロゴ | ブース出展 or ノベルティ等の配布 | イベントWebサイトに貴社ロゴ | 無料参加枠 |
---|---|---|---|---|
ことり | ○ | ○ | ○ | 5名 |
ひよこ | × | × | ○ | 1名 |
ありがたいことに「ことり」スポンサーについては、すでにいくつかお申込みをいただいております。
定数に達しましたら「ひよこ」スポンサーをご案内させていただくかもしれませんが、よろしくご検討いただけますと幸いです。
ご好評につき「ことり」スポンサーは申込を締め切りました。「ひよこ」スポンサーは引き続き募集していますので、ご検討をよろしくお願いいたします。
お問い合わせは japan-kotlin-user-group@googlegroups.com までお願いいたします。
日本Kotlinユーザグループとしては、初めての大規模イベントですので、至らぬ点もあることと存じますが、みなさまのご理解とお力添えを賜りますよう、よろしくお願い申し上げます。
Have a nice Kotlin!
Kotlin技術カンファレンス「Kotlin Fest 2018」は8月25日(土)に開催します!会場は東京コンファレンスセンター品川で、参加者数350人を予定しています。イベントページは近日中に公開予定です! pic.twitter.com/xaZ1mpdmCL
— Kotlin Fest 2018 (@kotlin_fest) 2018年6月25日