GeekFactory

int128.hatenablog.com

spock

Spring BootアプリのテストをSpockで書く

Spring BootアプリケーションのテストをSpockで書く方法を説明します。最近のバージョンを対象にしています。 Spring Boot 1.4 Spock 1.1-rc-3 Groovy 2.4 本稿では以下のテストレベルを対象とします。 コンポーネントテスト(依存コンポーネントをモックに…

TestKitによるGradleプロジェクトのテスト

最近のGradleで導入されているTestKitを使ってみたのでメモします。 TestKitでできること TestKitを利用すると、Gradleプロジェクトに対するテストを実行できます。例えば、何かの設定ファイルを自動生成するタスクをGradleで定義している場合に、そのタスク…

SSH接続のコードをApache MINA sshdでテストする

Apache MINA sshd(以下sshd)を使うとJavaVMだけでSSHサーバを実行できます。あらかじめ定義されているインタフェースを実装するだけで、認証やコマンド実行を受け付けることができます。 本稿では、SSH接続のコードをテストする場合にサーバサイドにsshdを…

Groovyのmeta classによるメソッド置き換えとテスト

テスト対象コードにスリープが含まれていると、テストに時間が掛かってしまいます。いわゆるスローテストの問題です。そのため、スリープを無害なモックに置き換えることでテストの時間を短くする工夫がよく行われます。Groovyでは meta class でスリープメ…

SpockでClosureのコールバックをテストする

Spockでテストを書いている時に Closure のコールバックをどうやってテストするか調べたのでメモ。例えば Hoge#process(Closure) というメソッドがあるとします。何かを処理したら結果が Closure に渡される仕様とします。 class Hoge { /** * ほげを処理し…