TDD: Testen ob eine Cookie gesetzt wurde

Für Webentwickler ist das Auswerten und Setzen von Cookies Business-Logik und Business Logik sollte Testgetrieben entwickelt werden.

Hier ein Beispiel Unit-Test:

Response _response { get { return _httpCurrent.Response as ResponseNoWeb; } }
RequestNoWeb _request { get { return _httpCurrent.Request as RequestNoWeb; } }
 
[Test]
public void SetCookie()
{
    _request.Url = new Uri("http://de.camping.info");
 
    _uiLanguageService.SetLanguageCookie("de");
    
    Assert.That(_response.CookiesCreated[0].Value, Is.EqualTo("de"));
    Assert.That(_response.CookiesCreated[0].Name, Is.EqualTo("Lang"));
    Assert.That(_response.CookiesCreated[0].Domain, Is.EqualTo(".camping.info"));
}
 
 
Ermöglicht wird das über die Abstrakton von HttpRequest und HttpResponse. (Die Entwicklung wurde gestern begonnen, der Quelltext kapselt daher nur das Grundlegenste.)
 
Erfolgt die Anwendung nicht im Webkontext verwenden wir eine Implementierung für den lokalen Gebrauch:
 
namespace SpeakFriend.Utilities.Web
{
    public class ResponseNoWeb : Response, IResponse
    {
        public void Redirect(string url)
        {
            _redirections.Add(url);
        }
 
        public void Redirect(string url, bool endResponse)
        {
            _redirections.Add(url);
        }
 
        public void SetCookie(HttpCookie cookie)
        {
            _cookiesCreated.Add(cookie);
        }
    }
}

…rudimentär, aber wirksam.

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war, bitten "kicken" sie ihn.
kick it on dotnet-kicks.de

Kommentar schreiben


(Zeigt dein Gravatar icon)

  Country flag

biuquote
  • Kommentar
  • Live Vorschau
Loading



Über speak-friend

Wir Stefan, Oliver, Anton und Robert, sind die Entwickler von speak-friend.

Hier schreiben wir über unsere Coding-Abenteuer.

Letzten Kommentare