私は、開発組織内での機能/統合テストにキュウバーを使用するようパイロットしており、CitrusにAPIテスト用の標準接着剤を使用しています。私が遭遇したハードルは、シナリオの変数を指定してREST URLを動的に変更する方法です。この機能はJava DSLに存在するようですが、キュウリのステップでは公開されていません。 Citrus-http:clientにシステムプロパティのプレースホルダを設定することはできますが、アプリケーションコンテキストがSpringによってロードされたときにこれらを解決する必要があることは明らかです。REST API Citrus/Cucumberでテストする
Scenario: Gets expected item for specified item number
Given variables
| item-number | 3 |
When <todoListClient> sends message <todoListRequest>
Then <todoListClient> should receive message <todoListResponse>
サービスのホスト名とポートがまだで設定することができます。シナリオで
Given message todoListRequest
And <todoListRequest> header Content-Type is "application/json"
And <todoListRequest> header Accept is "application/json"
And <todoListRequest> uri is "/todo/${item-number}"
、その後:私は私のバックグラウンドメッセージ定義に行うことができるようにしたいことは何かに似ていますアプリケーションコンテキスト、およびその値に追加された構築されたURIを使用してメソッドのターゲットを作成します(この場合GET、私は指定しませんでしたが、追加する必要がある別のものかもしれません)。それは合理的なようですか?明らかに、私はこのために自分自身の糊を書くことができましたが、そのルートに行く前にかなり明白なRESTシナリオのように見えているもののために、すぐに使える機能があるかどうかを見たいと思っていました。私はキュウリの統合がかなり最近(2.6から)であることを理解していますので、まだ成熟しているかもしれません。これは、私は歓迎されている場合は助けに興味がある分野である...
おかげ
あなたは右シトラスのHTTPのデフォルトのグルーコードはここに改善されるべきです。実際、これはあなたが言ったように、まだ成熟しています。これまでは、メッセージにCitrusの内部ヘッダー(citrus_http_methodとcitrus_http_request_uri)を設定する必要がありました。使いやすさを向上させるためにここで手伝っていただきたい場合は、大歓迎です! –