Laden...

Static-Klassen und NUNIT

Erstellt von DavidT vor 16 Jahren Letzter Beitrag vor 16 Jahren 789 Views
DavidT Themenstarter:in
998 Beiträge seit 2007
vor 16 Jahren
Static-Klassen und NUNIT

Hallo,

ich schreibe grade eine statische Klasse und möchte die gerne testen. Wenn ich normale KLassen teste und nicht möchte, dass immer das gleiche Objekt getestet wird, mache ich das mit SetUp und TearDown.

Wie mache ich das bei statischen Klassen? Gibt es eine Möglichkeit, eine statische Klasse zu veranlassen sich neu zu initialisieren oder muß ich mir eine eigene Methode dazu schreiben?

Gruß David

915 Beiträge seit 2006
vor 16 Jahren

Hallo DavidT,
leider weis ich gerade nicht genau was du mit testen meinst 🙂

Denke aber wenn es dir ums instanzieren geht von einer Statischen Klasse wie z.B. einer Singleton. Kannst das auf viele Arten lösen.

Mache das meistens über nen Property:


private static CClass m_clClass;

   public static CClass Instance
        {
            get
            {
                return (m_clClass != null)? m_clClass : new CClass ();
            }
        }

Um zu verhindern das sie ausserhalb instanziert werden kann und um damit verbundene Fehler zu vermeiden wird der Konstruktor private. Mit CClass.Instance kann die Klasse dann angesprochen werden und falls sie noch nicht instanziert wurde geschieht das zum ersten Zeitpunkt an dem sie aufgerufen wird.

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

DavidT Themenstarter:in
998 Beiträge seit 2007
vor 16 Jahren

Hallo Andreas,

das Problem ist, dass die gesamte Klasse static ist.

Gruß David

915 Beiträge seit 2006
vor 16 Jahren

Achso, naja instanzieren kannst das Ding dann sowieso nicht, man ruft ja nur die darin statischen Member oder Methoden usw. auf.
Siehe dazu MSDN 🙂

Denke da solltest einfach eine Methode schreiben dürfen und eben das Atribut SetUp drüber setzten dürfen. Innerhalb der Methode rufst du dann halt von deiner statischen Klasse die entsprechenden Methoden auf.

/ps
Kenne allerdings NUnit nicht so wirklich 😠

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(