Spockのレポート生成はHTML, Markdown, Asciidocできるし、カスタムも出来るんだぜ
GroovyのテスティングフレームワークであるSpockは標準ではレポート生成機能はありません。 多くはGradleでビルドしたときのxmlやhtmlを利用していると思います。
Spockにはspock-reportという拡張ライブラリがあり、これを依存関係に追加するだけでテスト結果のレポートを独自に追加で生成できます。 しかもなんと、HTMLだけではなくMarkdownやAsciidocとして生成することもできます。 また、最新のspock-reportではテストコードからレポートに文章を追加することも出来るようになりました。
今回はそんなspock-reportの便利機能をいくつか紹介します。
本ブログで説明しているサンプルコード全部入りのspockおよびspock-reportのプロジェクトテンプレートはこちら。
本記事はG* Advent Calendar 2017の16日目になります。
G* Advent Calendar 2017 - Qiita
- 最低限の使い方
- レポートをMarkdown/Asciidocとして生成する
- テストコードから説明を追加する
Spock1.1の新機能紹介
SpockというGroovy言語で記述するテスティングフレームワークがあります。 今回は2017/05/01にリリースされたバージョン1.1の新機能のうち3つを紹介します。
本記事はG* Advent Calendar 2017の14日目です。
- verifyAll メソッドによる(Soft Assert)
- where句のデータテーブルで左側の値を参照できる
- @PendingFeatureで未実装機能マーカーでテストを実行しない
- その他
GroovyのAST変換事情
Groovy言語ではAST変換をサポートしているのでその昔からAST変換をつかったライブラリがそこそこあります。 アノテーションでコード生成やボイラープレートなどの短縮、コード検査があります。
今回はAST変換の書き方というよりどういった成果物があったり、参考になる情報をまとめておきます。 本記事はG* Advent Calendarの12日目になります。
G* Advent Calendar 2017 - Qiita
- AST変換の方法
- AST変換の事例となる実装
爆速WebFW(らしい) Light-4JをGroovyから使ってみる
G* Advent Calendar 5日目の記事です。
JVM上で使えるWebAPIを開発するFWなどは多々ありまして、ハイパフォーマンスなものを探していたらどうやら Light-4Jというものがあるらしいと聞きつけました。 彼が言うにはそこそこ速いということで、ベンチマークも出しているんだぜと。
鵜呑みにはできないし、使い方とか知りたいので最小限のプロジェクトテンプレートをつくってみました。
JDK8が入っていれば、 ./gradlew run
で http://localhost:8081/baz で bazというテキストがレスポンスされると思います。
サンプルプロジェクトを移植しただけなので、Groovyらしさとかテストコードもありませんが。(ルーティング部分だけだったので)
Light4Jでは、Swagger 2.0, Open API 3.0, GraphQLに対応していたり、OAuth2.0に対応していたり、マイクロサービストレーサビリティ(X-Traceability-Id)に対応していたりとしていてよい感じです。(それぞれがライブラリで管理されているのもよい)
今回のプロジェクトテンプレートはそういったものは使っておらず、単純なAPIルーティング形式だけです。以下は使っている部分に関する知っていることの紹介です。
- Java向けを考えて開発されている
- 基本的な依存はundertow
- いろんなものがライブラリに切られている
- service.yml
- server.yml
- で、パフォーマンス
フロントエンドのテストツールとか気になっているやつ
テストツールというかサービス中心なんだけど、書籍情報も。
- WebGUIのテストIDE Katalon Studio
- JavaScriptのテスティングフレームワーク
- iOS Appiumで並列テスト
- AIでテストをやるっていう話
- テスト戦略書籍まとめ