Frage

Ich bin zu kämpfen, die Abhängigkeiten in dem folgenden Code zu trennen:

    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);

    }

Im Wesentlichen auf die Anforderung an die externe Website möchte ich Unit-Test, ohne sich.

Was wäre der beste Weg, um darüber zu gehen?

War es hilfreich?

Lösung

Nicht sicher, wie diese Klasse aus der Spitze von meinem Kopf aussieht, aber man kann sich immer wickelt um Ihre eigene, überprüfbare Klasse.

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

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


   public virtual string Url
   {
      return _innerReq.Url;
   }

   //repeat, make all necessary members virtual
}

, dann können Sie RhinoMocks verwenden, um eine PartialMock dieser Klasse zu erstellen. Es wird eine der virtuellen Eigenschaften außer Kraft setzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top