web-dev-qa-db-ja.com

MockMvcとWebTestClientの違いは何ですか?

Spring 4.xでテストしようとしたとき、MockMvc Webクライアントを使用しましたが、Spring5.xの新機能を読んで試しています。

WebTestClientとMockMvcは同じか非常に似ていると思います。

MockMvcとWebTestClientの違いは何ですか?

お返事をお待ちしております。ありがとうございました

9
devsh

類似点

  • どちらも、Webサービスをテストするための fluent -スタイルの構文を提供します。
  • どちらも、HTTPの使用をバイパスするシミュレートされた環境で動作できます。

主な違い

  • WebTestClientを使用して、HTTPを使用して実際のWebサービスをテストすることもできます。
    • @SpringBootTestの代わりに@WebFluxTextを指定します。
  • WebTestClientは、ローカルサーバーに Netty を使用している場合にのみ機能します。
    • これは、テスト環境に対する人為的な制限のように感じます。
    • 基になる WebClient の非ブロッキングの性質が原因である可能性があります。
  • WebTestClientはテストできます ストリーミング応答

リソース

4
nobar