データテーブルを使ったテストがあります。Spockフレームワークで、「エラー」リスナーからデータテーブル変数にアクセスするにはどうすればよいですか?
@Unroll
"Basic session start on platform = #platform"() {
when: "user stats a session on a platform"
def response = startSession(platform, id) // it does a REST request
then: "response contains a userId"
assert verifyUserId(response.userId) // method verifies userId with an internal algorithm and returns true\false if it is valid or not
where:
id | platform
1 | "Facebook"
2 | "Google"
3 | "Apple"
}
エラーのリスナーも作成しました。
テスト実行中にアサーションエラーが発生した場合、コードはこの「エラー」メソッドに入ります。
質問は、「エラー」メソッドの中の「どこ」ブロックから変数の値を取得するのですか?
私はデータテーブル変数のアサーションを直接行っていないため、ErrorInfo.Exceptionにはそれらが含まれていません。
「ErrorInfo」オブジェクトの他の適切なメンバーも見つかりませんでした。エラーが発生したときに、ErrorInfo.getMethod()。getFeature()では変数名しか見つからず、その値も見つかりませんでした。
完全なサンプル仕様を提供してください。 – Opal
私はフィーチャーメソッドの完全なサンプルを提供しました - それはあなたが意味するものですか?仕様だけでクラスにラップする、それは私の場合でもセットアップ\クリーンアップを持っていません。 – Ubeogesh
[It](https://github.com/Opalo/stackoverflow/tree/master/47270731)(そこに_It_ - リンクがあります)は動作しますが、それがあなたが探しているものなのか、それともスレッドセーフなのか分かりません。やってみて。 – Opal