(Unterschied zwischen Versionen)
|
K |
Zeile 1: |
Zeile 1: |
| + | {{Hierarchy header}} |
| So funktionieren datengetriebene Tests in SimplyVBUnit v3: | | So funktionieren datengetriebene Tests in SimplyVBUnit v3: |
| | | |
Zeile 15: |
Zeile 16: |
| ===Phase C - Ausführen der Tests auf Basis der Testdaten=== | | ===Phase C - Ausführen der Tests auf Basis der Testdaten=== |
| * In TestCase.Run wird die zuvor angelegte Methode mit den entsprechenden Daten als Parameter aufgerufen. | | * In TestCase.Run wird die zuvor angelegte Methode mit den entsprechenden Daten als Parameter aufgerufen. |
| + | |
| + | {{Hierarchy footer}} |
Version vom 17:20, 19. Sep. 2010
So funktionieren datengetriebene Tests in SimplyVBUnit v3:
Phase A - Sammeln der Testdaten
- Bei der Instanziierung eines TestFixture wird die Methode AutoCollectTestCases() aufgerufen (falls das übergebene Objekt IFixture nicht implementiert)
- In TestFixture.AutoCollectTestCases wird für alle nicht parameterlosen Methoden ("Daten-Testmethoden") die Methode GetTestData() mit einem TestDataBuilder auf Basis des Namens der Methode aufgerufen.
- In dem in GetTestData() üblichen Switch wird für jeden Testdatensatz die Testdaten der Methode TestDataBuilder.Use() übergeben.
- In TestDataBuilder.Use() werden die Testdaten zwischengespeichert (Klasse TestData).
Phase B - Erzeugen der TestCases auf Basis der gesammelten Testdaten
- Bei der Instanziierung eines TestFixture wird nach dem Aufruf von AutoCollectTestCases() (siehe oben) die Methode BuildFixture() aufgerufen.
- In BuildFixture() erzeugt ein Aufruf der Methode CreateTestSuite() für jede Daten-Testmethode eine TestSuite. Diese TestSuiten werden dem TestFixture hinzugefügt.
- In CreateTestSuite() wird für jeden Testdatensatz ein TestCase der TestSuite hinzugefügt
- Beim Erzeugen des TestCases wird eine ParemetrizedMethod oder ParamAndResultMethod im TestCase erzeugt. Diesen Methoden werden die Testdaten mit übergeben.
Phase C - Ausführen der Tests auf Basis der Testdaten
- In TestCase.Run wird die zuvor angelegte Methode mit den entsprechenden Daten als Parameter aufgerufen.
Hinweise und Notizen zum Quellcode