私はテストしたいフローがあります。フローにはHTTPインバウンドコネクタがあり、フロー自体はRESTfulなサービスとして動作します。MUnit MuleテストのHTTP URLパラメータを設定する
フローには、いくつかのURLパラメータが設定されていることが必要であり、標準の表記である#[message.inboundProperties.'http.query.params'.test]
を使用してこれらのパラメータにアクセスします。
私はこのフローをMUnitでテストしたいと考えています。フローに対してデフォルトのMUnitテストを作成すると、MUnitは元のフローを呼び出すためにflow-refを作成します。しかし、このテストの実行はただちに失敗します。なぜなら、フローはHTTPによって呼び出されることを想定しており、URLパラメータが設定されていると想定しているからです。
これは私が今いるところです。 flow-refを呼び出す前にこれらの変数を設定して、フローが正常に処理できるようにしたいと思います。一つはさまざまなプロパティを手動MessagePropertyMapContext
をインスタンス化し、flow-ref
コンポーネントを交換http.query.params
可変
munit:set
成分を、使用
- :
Iは、いくつかのことを試みました
HTTP
コンポーネントを使用し、実際のHTTPメッセージでフローを呼び出します。
これらはすべて正しく動作していないようです。
変数設定は常に失敗するようで、変数にアクセスしようとするとNullPointerException
になります。
HTTP
コンポーネントを使用してフローを呼び出すことは動作しません。これは、Muleがテスト用にポートをランダムに割り当てているため実行時にこのポートにアクセスできないように見えるためです。したがって、私はエンドポイントを呼び出す方法がありません。
私は他の場所で同様の質問hereとhereを探しましたが、彼らは私を助けてくれないようです。
私の基本的な質問は、MUnitテストからテストされたときに、フローによってアクセスできるURLパラメータを設定する方法です。代わりに私がここで達成しようとしていることを達成するためのより良い方法はありますか?
ありがとうございました!