タケハタのブログスマートフォン用の表示で見るタケハタのブログプログラマの生き方、働き方、技術について雑多に書いていくブログです。KotlinTestはじめにこの前会社の技術ブログでKotlinTestに関する記事を書きました。blog.applibot.co.jpこの記事ではKotlinTestの導入とSpringBootと併せて使う方法についてご紹介しました。そこでは会社で2種類のSpecの書き方を紹介していたのですが、その他のSpecの書き方についても個人的に試してみたので、その解説を書きたいと思います。公式ドキュメントとしては下記のものがあるので、こちらを参考に、順番に沿って解説していきます。github.com導入方法については冒頭でご紹介した会社の技術ブログの記事をご確認ください。その記事の中で使用している下記のSampleServiceクラスを使用して、各Specのサンプルコードを書いていきます。}}一番シンプルな構文です。テストケースの名前を文字列で記述し、そのブロックにテストケースを記述していく形になります。テストケースの階層も単一になります。いう関数にテスト名を文字列で渡して呼び出し、テストの処理をクロージャとして呼び出しています。いうキーワードを使用しています。機能的な違いとしては、StringSpecのようなコンテキスト文字列にネストすることができます。みたいな書き方も擬似的にできそう。付けて、ネストした中でStringSpecと同じように文字列でテストケースを定義します。ネストの外側と内側を逆にした感じ。下記のように内側の文字列で多重にネストするとエラーになります。いうキーワードを使い、ネストして記述します。関連するテストケースを羅列していく感じですかね。cucumberというテストフレームワークでシナリオを書く時の形に似ているらしいです(使ったことないのであまり分かってないです)。3つのブロックで構成します。Kotlinの予約語として存在するので、バッククォートで括らないといけないのが若干気持ち悪いですね。付けることで、ネストしてテストケースを書くことができます。ネストは制限なく、任意の深度まで書けます。いうキーワードで構成します。RubyのRSpecというテストフレームワークを模倣しているらしいです(こちらも使ったことないのでよく分からない)。いうキーワードを使っています。関連するテストケースを羅列していく感じですかね。}}JavaでおなじみJUnitライクな書き方です。アノテーションを付けることでテストケースを定義します。比較的最近追加された書き方になります。はじめとする機能を使った、データ駆動テストの機能があります。他のSpecも全部は試してないので、こちらはまた別途色々試してみて書きますね。testのみをサポートしています(Bangの方は使えそう)。}}では効かず全部のテストが実行されてしまいます。}}こちらも他のSpecももうちょっと色々試してみて別途書きますね。StringSpec。はじめとしたKotlinTestのいろんな機能が問題なく使えそうだし、開発者もこれを推奨してそうな感じ。使いたい気持ちはあります。それ以外は正直好みかなぁという感覚。至ってはこれ使うならJUnit使った方が良いのではと思う。KotlinTestはアップデートも多いので、今後また変わっていくかもしれないです。今回調べきれなかった内容も含め、また色々使ってみて書こうと思います。はてなブログProプログラマとしての生き方とか、働き方とか、技術のことを雑多に書いていきます。CODE-セブンスコード-」のバックエンド技術DockerでMySQLを起動した時はバージョン差異に注意ブログの技術記事で書く内容をパターン分けしてみた2019年を雑に振り返る月別アーカイブはてなブログをはじめよう!take7010さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。