uzabase / playtest2

The next generation of Playtest :pray:
https://uzabase.github.io/playtest2/
MIT License
17 stars 0 forks source link
gauge java kotlin

logo

Tests JitPack Maven Central Version

Installation

テストプロジェクトに必要な依存関係を記述します。Playtest2では、現在以下のモジュールを提供しています。

モジュール名 必須 説明
playtest-core [x] Playtest2の設定やアサーションのためのモジュール
playtest-http [ ] HTTPリクエストを送信して、レスポンスを検証可能にするモジュール
playtest-wiremock [ ] WireMockを使って外部APIへのリクエストを検証可能にするモジュール
playtest-jdbc [ ] JDBCを使ってデータベースへのリクエストを検証可能にするモジュール

Usage

Playtest2では設定のためのDSLを提供しています。playtest2関数に各モジュールが提供する設定関数(http, wireMockなど)で設定を追加していくことで、Playtest2が提供するステップを利用することができるようになります。

import com.uzabase.playtest2.core.config.Configuration.Companion.playtest2
import com.uzabase.playtest2.core.config.plus
import com.uzabase.playtest2.http.config.http
import com.uzabase.playtest2.wiremock.config.wireMock

class Hooks {
    @BeforeSuite
    fun beforeSuite() {
        playtest2 {
            http(URI("http://localhost:8080").toURL()) +
            wireMock("InnerAPI", URI("http://localhost:3000").toURL())
        }
    }
}

Playtest2が提供するステップを利用すると以下のようにGaugeのスペック(.spec)を記述することができます。

## /pingに対するテスト
* パス"/ping"に
* メソッド"GET"で
* メディアタイプ"application/json"で
* リクエストを送る
* レスポンスのステータスコードが
* 整数値の"200"である

Gaugeのコンセプト(.cpt)に利用することもできます。

# GETメソッドでパス<path>にリクエストを送る
* パス<path>に
* メソッド"GET"で
* メディアタイプ"application/json"で
* リクエストを送る