2

いくつかの機能テストを実際に書いていますが、他の http エンドポイントから分離されたスタックをテストしたいと考えています。

「この定型応答のセットへの直接 WS 呼び出し」または自動テストで使用できない http エンドポイントへの呼び出しをスタブ化する他の方法を言うメカニズムはありますか?

または、偽のアプリケーション構成がアプリケーションの残りの部分にどのように提示されるので、URLをローカルホストサーバーに設定するだけで、定型応答を提供するために自分で構築します

4

1 に答える 1

1

WS署名を模倣する構造型を作成し、それをコードで使用できます。

type WSLike = {
  def url(url: String): WSRequestHolder
}

WSLikeその後、独自のバージョンのクラスを注入できます。モック ライブラリと組み合わせると、やりたいことは何でもできると思います。

2番目の質問について。次のように呼び出すことができます。

val url = Play.current.configuration
  .getString("my.webservice.url")
  .getOrElse(throw new PlayException(
    "Configuration error",
    "Could not find my.webservice.url in settings"))

WS.url(url)

次にapplication.conf、正しい URL を追加します。を使用して別のものを指定できますFakeApplication

FakeApplication(additionalConfiguration = 
  Map("my.webservice.url" -> "http://localhost/service"))
于 2013-08-01T20:23:15.447 に答える