Wiki der Access Code Library

Gemeinsam zu mehr Effizienz in der Anwendungserstellung

AccUnit

Aus Access Code Library
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Was soll eine Access/VBA-Test-Suite können?)
K
Zeile 2: Zeile 2:
=== Was soll eine ''Access/VBA-Test-Suite'' können? ===
=== Was soll eine ''Access/VBA-Test-Suite'' können? ===
* Einfacher Start der Tests
* Einfacher Start der Tests
-
** Alle vorhandenen Tests starten: <code>TestSuite.AddFromVBProject.Run</code>{{checked}} bzw. über VBIDE-Add-In {{checked}}
+
** Alle vorhandenen Tests starten: <code>TestSuite.AddFromVBProject.Run</code>{{checked}} bzw. über VBIDE-Add-In{{checked}}
** Einzelne Tests starten: <code>TestSuite.Add(new Testklasse).Run</code>{{checked}} bzw. in Add-In{{checked}} auswählen
** Einzelne Tests starten: <code>TestSuite.Add(new Testklasse).Run</code>{{checked}} bzw. in Add-In{{checked}} auswählen
** Einzelne Methoden aus einer Testklasse starten: <code>TestSuite.Run("Methode")</code> ''... ist vermutlich mit SimplyVBUnit nicht möglich''
** Einzelne Methoden aus einer Testklasse starten: <code>TestSuite.Run("Methode")</code> ''... ist vermutlich mit SimplyVBUnit nicht möglich''
Zeile 19: Zeile 19:
*:Falls im Test Tabellendaten geändert werden, sollten diese nicht gespeichert werden (<code>DBEngine.BeginTrans</code>/<code>DBEngine.Rollback</code>)
*:Falls im Test Tabellendaten geändert werden, sollten diese nicht gespeichert werden (<code>DBEngine.BeginTrans</code>/<code>DBEngine.Rollback</code>)
* Row-Test-Feature / Testdaten aus Tabelle
* Row-Test-Feature / Testdaten aus Tabelle
-
** Testdaten als Kommentarzeile oberhalb der Test-Methode angeben {{checked}}
+
** Testdaten als Kommentarzeile oberhalb der Test-Methode angeben{{checked}}
** Testdaten aus Tabelle auslesen, ohne im Test einen Datenzugriff programmieren zu müssen.
** Testdaten aus Tabelle auslesen, ohne im Test einen Datenzugriff programmieren zu müssen.
* Einfache Testerstellung
* Einfache Testerstellung

Version vom 08:29, 11. Sep. 2010

Was soll eine Access/VBA-Test-Suite können?

  • Einfacher Start der Tests
    • Alle vorhandenen Tests starten: TestSuite.AddFromVBProject.Run bzw. über VBIDE-Add-In
    • Einzelne Tests starten: TestSuite.Add(new Testklasse).Run bzw. in Add-In auswählen
    • Einzelne Methoden aus einer Testklasse starten: TestSuite.Run("Methode") ... ist vermutlich mit SimplyVBUnit nicht möglich
    • Tests der gerade sichtbaren Testklasse : über VBIDE-Add-In bzw. TestSuite.Run(tsActiveCodeModul)
    • Alle Tests für das gerade sichtbare CodeModule starten ... wie erkennt man die Tests für ein CodeModule?
  • Ausgabe der Testergebnisse
    • alle Ergebnisse anzeigen
    • nur die fehlgeschlagenen Tests anzeigen
    • Zusammenfassung am Ende
    • Ausgabe in ...
      • Debug-Fenster (Direktbereich bzw. Add-In-Fenster)
      • TreeView
      • Text-Datei
      • Stringvariable / String-Rückgabe
  • Rollback-Funktionalität
    Falls im Test Tabellendaten geändert werden, sollten diese nicht gespeichert werden (DBEngine.BeginTrans/DBEngine.Rollback)
  • Row-Test-Feature / Testdaten aus Tabelle
    • Testdaten als Kommentarzeile oberhalb der Test-Methode angeben
    • Testdaten aus Tabelle auslesen, ohne im Test einen Datenzugriff programmieren zu müssen.
  • Einfache Testerstellung
    • Testklassen aus Vorlagen erzeugen
    • Assistent für Test-Methoden (vor allem für Row-Tests)
  • Test-Verwaltung
    • Testklassen mit Compiler-Anweisungen auskommentieren, damit bei der Auslieferung der Anwendung die Verweise auf SimplyVBUnit und AccUnit nicht benötigt werden.
    • Testklassen der Anwendung exportieren und importieren (z. B. als Textdatei in ein Unterverzeichnis)
  • TreeView für die Testergebnisse
    • Sicherstellen, dass alle Knoten fehlgeschlagener Tests/Rows aufgeklappt sind
    • Von jedem Eintrag zur entsprechenden Codestelle wechseln können
    • Im Tree Einträge auswählen können und danach diese Tests wieder laufen lassen
    • Beim Lauf der Tests bereits den Status anzeigen (pending, executing, passed, failed, error, inconclusive, ignored)
  • Category-Attribut
    • Parameter: Name (erforderlich)
  • Ignore-Attribut
    • Parameter: Begründung (erforderlich)

Verwendung von AccUnit

Erzeugen der Testumgebung (Verweise + Hilfsklassen u. -module)

Tests erstellen

Add-in für den VBA-Editor

Entwicklung

Code-Dokumentation

Hinweise und Notizen zum C#-Quellcode der AccUnit-Bibliothek

Funktionsweise von datengetriebenen Tests in SimplyVBUnit v3

Begriffe / Definitionen

Aufbau der TestSuite

Quellcode im SVN-Repostitory

SimplyVBUnit-VBATestSuite

VBATestSuite mit SimplyVBUnit