AccUnit

Unit Testing in VBA - Microsoft Access, Excel, …

Datengetriebene Tests in SimplyVBUnit v3

Aus AccUnit
Wechseln zu: Navigation, Suche

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.
Persönliche Werkzeuge