ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
601
601
EMPFEHLEN
-
11.09.06 15:49 #1
Hallo!
Ich beschäftige mich seit einiger Zeit mit Unit Tests unter NUnit und Testdriven.NET. Nun habe ich mal eine Verständnisfrage.
Ich habe folgenden Code:
Code :1 2 3 4 5 6 7 8 9
public string meineZuTestendeFunktion(string Irgendwas) { (einiger Code...) string test = mySecondClass.gibIrgendwasZurueck("Test"); (einiger Code...) return result; }
Es wird also in einer zu testenden Funktion eine weitere Klasse aufgerufen, die ein Ergebnis liefert, mit dem weitergearbeitet wird.
Ich muss nun diese Klasse irgendwie als Scheinklasse anlegen und meiner Test-Funktion beibringen, dass nicht die Orginal-Klasse angesprochen wird, sondern eben eine Scheinklasse.
Wie aber tut man so etwas?
Code :1 2 3 4 5 6 7 8
[Test] public void testFunktion() { zuTestendeKlasse c = new zuTestendeKlasse(); string result = c.meineZuTestendeFunktion("Hallo"); Assert.AreEqual("Hallo Test", result); }
Wie sage ich jetzt über meine Testfunktion, dass er in der zu testenden Funktion nicht die Klasse "mySecondClass" im Orginal anspricht, sondern eine Scheinklasse, die ein mir bekanntes Ergebnis liefert? Da die zu testenden Klasse ja in ihrem Orginal Kontext läuft, ruft sie automatisch ja auch ihre Orginal referenzierte Klasse auf... Irgendwie steh ich da grad völlig auf'm Schlauch...
Ich hoffe ich habe nicht zu unverständlich geschrieben.
Vielen Dank schon mal für Eure Mühe mir zu helfen!
Viele Grüße.
..::SD::..
-
Warum an dieser Stelle eine "Scheinklasse" verwenden? Kannst du mir den Hintergrund bitte näher erklären? Willst du vor der Implementierung die Tests schreiben? Oder was genau bezweckst du?
-
11.09.06 19:16 #3
Ich möchte die zu testende Klasse von allen anderen isolieren. Somit erhoffe ich mir ein Testergebnis, welches auch repräsentativ für mich ist.
Oder hab ich etwas falsch verstanden in Sachen Testing?
MfG
..::SD::..
-
11.09.06 19:45 #4
- Registriert seit
- Feb 2005
- Ort
- Kirchdorf a. d. Krems, OÖ
- Beiträge
- 213
Bevor du die Klasse mit der Funktion "meineZuTestendeFunktion" testest, wirst du (normalerweise) sowiso die Klasse der Instanz "mySecondClass" testen, wenn du dann einen Fehler in der zweiten Klasse findest, kannst du dir sicher sein, dass der Fehler nicht in den Klassen liegt, die du in der aktuellen Klasse verwendest

Lg, Yanick
-
11.09.06 20:20 #5
Ja, das dachte ich mir zuerst auch, aber das ist nicht ganz im Sinne von Softwaretests. Weil dann müsste ich generell davon ausgehen, dass die anderen Klassen funktionieren. Was aber, wenn der Test für eine tiefer liegende Klasse nicht ordentlich programmiert wurde und er somit evtl. nicht brauchbar ist?
MfG
..::SD::..
-
11.09.06 21:31 #6
- Registriert seit
- Feb 2005
- Ort
- Kirchdorf a. d. Krems, OÖ
- Beiträge
- 213
Hm... ich würde sagen du musst zuerst die anderen Klassen testen. Falls dies schon erledigt ist, musst du eig. darauf vertrauen dass diese Funktionen, was anderes wird dir ja sowiso nicht überbleiben.
Wenn du beispielsweise Klassen aus dem .NET Framework benützt, hast du auch nur zwei Möglichkeiten:- Du testest sie nochmal - wenn du Zeit und Lust hast..
- Du vertraust darauf und weißt, dass sie schon getestet wurden
-
11.09.06 22:04 #7
Ich hatte nicht vor die Klassen aus dem Framework zu testen - das wäre auch ziemlich sinnfrei!
Wenn ich aber darauf vertrauen muss, dass andere Klassen, die z.B. auch aus anderen Abteilungen kommen wirklich funktionieren und die Tests, die für diese existieren nicht nur "Dummy's" sind, dann kann ich das Testen auch sein lassen!
Es muss doch eine Möglichkeit geben, die Klassen voneinander zu isolieren. Die komische Test-Foundation-Gruppe hat es ja so in ihre Standards geschrieben. Nur wie - das haben sie wohl vergessen...
VG
..::SD::..
Ähnliche Themen
-
Tests automatisieren
Von lernen.2007 im Forum JavaAntworten: 4Letzter Beitrag: 09.03.08, 12:28 -
Unit tests für Servlets
Von bspainkf36 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 20.04.06, 11:50 -
Unit-Tests unter .NET
Von Norbert Eder im Forum .NET CaféAntworten: 1Letzter Beitrag: 13.02.06, 21:16 -
bitte um TESTS
Von akosch im Forum PHPAntworten: 12Letzter Beitrag: 21.05.03, 15:31





Zitieren
Login





