poniedziałek, 5 marca 2012

Metoda wypełniająca dla testów

Problem jaki napotykam w trakcie testowania aplikacji jest ciągłe wypełnianie tych samych pól, tymi samymi danymi. Aby zautomatyzować dany proces wystarczy dodać metodę wypełniającą.
Do metody wypełniającej dane (np. w formularzu) dodaje się atrybut Conditional("DEBUG"). Jeżeli flaga DEBUG nie jest ustawiona to metoda jest omijana w produkcyjnej binarce. Do tej metody dodatkowo dodaje warunek czy debugger jest podłączony. Debugger możne być podłączony w trybie Debug oraz Release. Dobrę praktyką jest dodanie informacji do okna Output z jakiej metody zostało dokonane wypełnienie, pisanie nazw tych metod z prefiksem "DEBUG_" oraz ustawienie dostępności na private.
Poniższy kod przedstawia ten mechanizm:
[Conditional("DEBUG")]
private void DEBUG_YourFillingMethod() //hack: Debug
{ 
    if (Debugger.IsAttached)
    { 
        Debugger.Log(0, this.ToString(), System.Reflection.MethodBase.GetCurrentMethod().Name);
        //todo: your filling code
    } 
} 


Dla aplikacji ASP.NET można zastosować HttpContext.Current.IsDebuggingEnabled.

Brak komentarzy:

Prześlij komentarz