0

次のコードで依存関係を分離するのに苦労しています:

    public static SiteConnector ConnectToSite(String Logon, String Password)
    {

        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(_URI);
        ConfigureRequest(Logon, Password, webRequest);
        HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
        Cookie ReposonseCookie;
        //this looks for a cookie and spitsout a value based on response
        int value = ProcessResponse(webResponse,out  ReposonseCookie);

        return new SiteConnector(ReposonseCookie, value);

    }

本来は外部サイトへのリクエストに頼らず単体テストを行いたい。

これについて最善の方法は何ですか?

4

1 に答える 1

2

そのクラスが頭の中でどのように見えるかはわかりませんが、いつでも独自のテスト可能なクラスにラップできます。

public class WebRequestWrapper
{
   internal WebRequestWrapper() {..}

   public WebRequestWrapper(WebRequest req)
   {
      _innerRequest = req;
   }


   public virtual string Url
   {
      return _innerReq.Url;
   }

   //repeat, make all necessary members virtual
}

その後、RhinoMocks を使用して、このクラスの PartialMock を作成できます。IT は、すべての仮想プロパティをオーバーライドします。

于 2008-10-28T21:14:43.497 に答える