Javaのテストでstub(mock)/テスト実行/assertionを綺麗に書きたい
Javaに限った話では無いのかもしれませんが、単体テストを実装する際には、
- 関連するクラスのスタブやモックの作成コードのテスト準備コード
- テスト実行のコード
- assertionのコード
を記載していくかと思います。
だんだんとテストを書いていくと、上記3つが混ざってくる気がしています。
そこで、上記3つの内容が一目で分かるようなテストライブラリを探しているのですが、
ご存じの方は教えてください。
ライブラリのコードイメージは下記のようになります。
@Test
public void testHoge(){
TestHelper.prepare({
Hoge hoge = mock(Hoge.class)
when(hoge.getXXX).thenReturn("hogehoge");
}).execute({
result(test.target());
}).evaluate(r -> {
assertEquals(r, "expected");
});
}
よろしくお願いします。