私はSpring Cloud ContractフレームワークをRESTサービス統合テストおよび関連するクライアントアプリケーション契約に使用しています。これはオブジェクトのJSONリクエスト/レスポンスに対して機能しますが、単純な文字列をチェックする機会があります。特に、ブール値(応答本文でtrueまたはfalse)に応答するサービスですか?グルーヴィーな定義のSpring Cloud Contract - 簡単な文字列レスポンスをテストする方法は?
パート:
response {
status 200
headers {
header('Content-Type', 'application/json;charset=UTF-8')
}
body(
value(client('true'), server(regex("true|false")))
)
}
生成されたテストの関連部分:
String responseBody = response.getBody().asString();
null;
は、それはそれは、バグではありませんか?あるいは、私はグルーヴィーな定義で何か良いことをするべきですか?最初の行はチャンスジェネレータが私が望むものを理解するのを与えますが、2行目は完全に外にあります。ヒントありがとう。
P.S.私はJSONレスポンスとしての文字列 "真"の妥当性についてのみ異なる意見があることを知っています(実際には問題ありません):
このJSONは完全に無効なので、これはバグではありません。 content-typeを 'text/plain'のようにsthに変更し、うまく動作するかどうか確認してください。そうでない場合、これは本当にバグです –
"true"は有効なJSONです。 –
これは私がP.S.で言ったことです。多くの意見がありますが、非マップ/非配列値が無効なJSONでなければならないという妥当な理由は見つけられません。 –