テストプロジェクトに必要な依存関係を記述します。Playtest2では、現在以下のモジュールを提供しています。
| モジュール名 | 必須 | 説明 |
|---|---|---|
| playtest-core | [x] | Playtest2の設定やアサーションのためのモジュール |
| playtest-http | [ ] | HTTPリクエストを送信して、レスポンスを検証可能にするモジュール |
| playtest-wiremock | [ ] | WireMockを使って外部APIへのリクエストを検証可能にするモジュール |
| playtest-jdbc | [ ] | JDBCを使ってデータベースへのリクエストを検証可能にするモジュール |
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"で
* リクエストを送る
