SORU
14 Aralık 2008, Pazar


Nasıl birim FormsAuthentication kullanan ASP.NET MVC benim denetleyicisi test edebilirim?

Test odaklı bir şekilde ASP.NET MVC bir çözüm ile çalışıyorum ve başvuru formları kullanma benim kimlik doğrulaması için bir kullanıcı giriş yapmak istiyorum. Denetleyicisi ile bitirmek istiyorum kod şöyle görünür:

FormsAuthentication.SetAuthCookie(userName, false);

Benim sorum bu kodu nasıl haklı göstermek için bir test yazmanın ne anlamı var?

Bir şekilde SetAuthCookie yöntemi doğru parametreleri ile çağrıldı olmadığını kontrol edin.

Sahte/sahte bir FormsAuthentication enjekte herhangi bir yolu var mı?

CEVAP
14 Aralık 2008, Pazar


Bir arabirim ve bu mantık saklanması ve benim denetleyicisi arabirimi kullanmak olacaktır kapsayıcı bir sınıf yazarak başlamak istiyorum:

public interface IAuth 
{
    void DoAuth(string username, bool remember);
}

public class FormsAuthWrapper : IAuth 
{
    public void DoAuth(string username, bool remember) 
    {
        FormsAuthentication.SetAuthCookie(userName, remember);
    }
}

public class MyController : Controller 
{
    private readonly IAuth _auth;
    public MyController(IAuth auth) 
    {
        _auth = auth;
    }

}

Şimdi İAuth kolayca birim test düşürülmek ve denetleyici beklenen yöntemlerini çağırır doğrulayın. Sadece FormsAuthentication çağrısı delegeler çünkü FormsAuthWrapper sınıf birim test etmem yapmak gerekiyordu ne yapar (: - Microsoft garanti)).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FlippinWindows | #1 Windows Tutorial Channel!

    FlippinWindo

    23 Mayıs 2010
  • How To Cook That

    How To Cook

    16 NİSAN 2011
  • Top10Series

    Top10Series

    26 Kasım 2008