テストファイル

テストファイルは、project testおよびbot testコマンドのテスト内容を記述するファイルです。
また、テストファイルに複数のテストを記述すると、コマンド実行時にまとめてテストを実行できます。

テスト内容には、ボットのテストに必要な以下の情報を記述できます。

  • リクエスト内容
  • レスポンスのテスト内容

ファイル仕様

ファイル名

(任意).yml

ファイル構成

キー
必須 説明
config hash テスト設定を保持します。
  keep_app_id boolean テストファイル中の全てのタスクで同一のapp_idを使用する場合にtrueを指定します。
テスト毎に異なるapp_idを使用する場合はfalseを指定します。
デフォルト値:false
tasks hash配列 タスクを配列で保持します。
詳細は「タスク」を参照してください。

タスク

キー
必須 説明
name string テスト実行時、結果に表示する名称を指定します。
request hash シナリオ対話APIのリクエストパラメータを指定します。
※シナリオ対話APIではJSON形式ですが、ここではYAML形式で記述してください。
tests hash配列 テストの内容を配列で保持します。
  method string paramexpectedの照合方法を指定します。
利用できる値は「テストメソッド一覧」をご参照ください。
  param string シナリオ対話APIのレスポンスの中で、テストする値のパスを以下の形式で指定します。

keyはシナリオ対話APIのレスポンスパラメータのキーを指定してください。

  expected stringまたはstring配列 paramと比較する文字列、もしくは文字列の配列を指定します。

テストメソッド一覧

テストメソッド名 動作
equal paramで指定した文字列がexpectedと一致するかテストします。
not_equal paramで指定した文字列がexpectedと一致しないことをテストします。
in paramで指定した文字列がexpectedの少なくとも一つと一致しているかをテストします。
not_in paramで指定した文字列がexpectedの全てと一致しないことをテストします。
regex_equal paramで指定した正規表現がexpectedにマッチするかテストします。
regex_not_equal paramで指定した正規表現がexpectedとマッチしないことをテストします。
regex_in paramで指定した正規表現がexpectedの少なくとも一つとマッチするかテストします。
regex_not_in paramで指定した正規表現がexpectedの全てとマッチしないことをテストします。

ファイル記述例

複雑なテストの例