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
K (Was soll eine Access/VBA-Test-Plattform können?)
 
(Der Versionsvergleich bezieht 118 dazwischenliegende Versionen mit ein.)
Zeile 1: Zeile 1:
-
{{info|text=
+
{{Hierarchy header}} __NOTOC__
-
Diese Seite dient zum Sammeln von Ideen
+
[[Kategorie:Testframework]]
-
}}
+
[[Kategorie:Access-Add-In]]
-
 
+
=== Was soll eine ''Access/VBA-Test-Plattform'' 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.RunAll</code>
+
** Alle vorhandenen Tests starten: <code>TestSuite.AddFromVBProject.Run</code>{{checked}} bzw. über VBIDE-Add-In{{checked}}
-
** Einzelne Tests starten: <code>TestSuite.Run(new Testklasse)</code> oder <code>TestSuite(new Testklasse).Run</code>  
+
** 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(new Testklasse).Methode</code> oder <code>TestSuite(new Testklasse, "Methode").Run</code>
+
** Einzelne Methoden aus einer Testklasse starten: mittels Kontextmenü: aktiven Test, im Ergebnisbaum: ausgewählte Tests{{checked}}
 +
** Tests der gerade sichtbaren Testklasse : über VBIDE-Add-In{{checked}} bzw. <code>TestSuite.Run(tsActiveCodeModul)</code>
 +
** Alle Tests für das gerade sichtbare CodeModule starten ''... wie erkennt man die Tests für ein CodeModule?''
* Ausgabe der Testergebnisse
* Ausgabe der Testergebnisse
-
** alle Ergebnisse anzeigen
+
** alle Ergebnisse anzeigen{{checked}}
** nur die fehlgeschlagenen Tests anzeigen
** nur die fehlgeschlagenen Tests anzeigen
-
** Zusammenfassung am Ende
+
** Zusammenfassung am Ende{{checked}}
-
** Ausgabe
+
** Ausgabe in ...
-
*** Debug-Fenster (Direktbereich)
+
*** Debug-Fenster (Direktbereich bzw. Add-In-Fenster){{checked}}
 +
*** TreeView {{checked}}
*** Text-Datei  
*** Text-Datei  
*** Stringvariable / String-Rückgabe
*** Stringvariable / String-Rückgabe
 +
* Rollback-Funktionalität
 +
** Falls im Test Tabellendaten geändert werden, sollten diese nicht gespeichert werden (<code>DBEngine.BeginTrans</code>/<code>DBEngine.Rollback</code>){{checked}} für Jet: Rollback-Attribut
 +
** Für SQL-Server noch testen/erweitern
 +
* Row-Test-Feature / Testdaten aus Tabelle
 +
** Testdaten als Kommentarzeile oberhalb der Test-Methode angeben{{checked}}
 +
** Testdaten aus Tabelle auslesen, ohne im Test einen Datenzugriff programmieren zu müssen.
 +
* Einfache Testerstellung
 +
** Testklassen aus Vorlagen erzeugen{{checked}}
 +
** Assistent für Test-Methoden (vor allem für Row-Tests)
 +
** Testklassen und/oder Test-Methoden für aktives Code-Modul bzw. Prozedur per Kontext-Menü erstellen.{{checked}}
 +
* Test-Verwaltung
 +
** <s>Testklassen mit Compiler-Anweisungen auskommentieren, damit bei der Auslieferung der Anwendung die Verweise auf SimplyVBUnit und AccUnit nicht benötigt werden.</s> ''Wäre wirkungslos, da die Implements-Zeilen trotzdem interpretiert werden und somit der Verweis auf AccUnit vorhanden sein müsste.''
 +
** Testklassen der Anwendung exportieren und importieren (z. B. als Textdatei in ein Unterverzeichnis){{checked}}
 +
* TreeView für die Testergebnisse
 +
** Sicherstellen, dass alle Knoten fehlgeschlagener Tests/Rows aufgeklappt sind{{checked}}
 +
** Von jedem Eintrag zur entsprechenden Codestelle wechseln können{{checked}}
 +
** Im Tree Einträge auswählen können und danach diese Tests wieder laufen lassen{{checked}}
 +
** Beim Lauf der Tests bereits den Status anzeigen (pending, executing, passed, failed, error, inconclusive, ignored)
 +
** Das Testergebnis Tool-Window soll nach Abschluss eines Testlaufs nocheinmal geöffnet werden (für den Fall dass es während einer Debugging-Session geschlossen wurde).{{checked}} ''Über Menü "Ansicht" kann das Fenster geöffnet werden.''
 +
** Bei Doppelklick auf einen Eintrag soll ein Fenster mit den Angaben aufgehen in denen auch lange Texte gelesen werden können (ggflls. mit Scrollen)'
 +
** Kontextmenü zum Öffnen der Detailansicht, Wechseln zum Code usw.{{checked}}
 +
* Category-Attribut
 +
** Parameter: Name (erforderlich) => AccUnit:Tags {{checked}}
 +
* Ignore-Attribut{{checked}}
 +
** Parameter: Begründung (<s>erforderlich</s>){{checked}}
 +
* Schnittstellen
 +
** Ferngesteuerter Testaufruf inkl. Rückgabe des Testergebnisses
 +
 +
----
-
=== Entwicklung ===
+
''Hinweis: '' Diese Aufstellung war das Ergebnis des Brainstormings über eine Testplattform für Access/VBA. Aus diesen Überlegungen ist das Projekt [http://accunit.access-codelib.net/ AccUnit] entstanden.
-
[http://source.access-codelib.net/doc/draft/class_v_b_a_test_suite.html Code-Dokumentation von VBATestSuite]
+
-
{{websvn/file|rep=CodeLib|path=branches/draft/test/simplyvbunit/VBATestSuite.cls|text=VBATestSuite im SVN-Repostitory}}
+
{{related links|links=[http://accunit.access-codelib.net/ AccUnit Startseite] &middot; [http://de.accunit.access-codelib.net/Erste_Schritte Bedienungsanleitung]}}
-
<svnFileInfo>https://svn.access-codelib.net/svn/codelib/branches/draft/test/simplyvbunit/VBATestSuite.cls</svnFileInfo>
+

Aktuelle Version vom 18:59, 13. Okt. 2013

AccUnit

Inhalt

Was soll eine Access/VBA-Test-Plattform 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: mittels Kontextmenü: aktiven Test, im Ergebnisbaum: ausgewählte Tests
    • 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) für Jet: Rollback-Attribut
    • Für SQL-Server noch testen/erweitern
  • 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)
    • Testklassen und/oder Test-Methoden für aktives Code-Modul bzw. Prozedur per Kontext-Menü erstellen.
  • Test-Verwaltung
    • Testklassen mit Compiler-Anweisungen auskommentieren, damit bei der Auslieferung der Anwendung die Verweise auf SimplyVBUnit und AccUnit nicht benötigt werden. Wäre wirkungslos, da die Implements-Zeilen trotzdem interpretiert werden und somit der Verweis auf AccUnit vorhanden sein müsste.
    • 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)
    • Das Testergebnis Tool-Window soll nach Abschluss eines Testlaufs nocheinmal geöffnet werden (für den Fall dass es während einer Debugging-Session geschlossen wurde). Über Menü "Ansicht" kann das Fenster geöffnet werden.
    • Bei Doppelklick auf einen Eintrag soll ein Fenster mit den Angaben aufgehen in denen auch lange Texte gelesen werden können (ggflls. mit Scrollen)'
    • Kontextmenü zum Öffnen der Detailansicht, Wechseln zum Code usw.
  • Category-Attribut
    • Parameter: Name (erforderlich) => AccUnit:Tags
  • Ignore-Attribut
    • Parameter: Begründung (erforderlich)
  • Schnittstellen
    • Ferngesteuerter Testaufruf inkl. Rückgabe des Testergebnisses



Hinweis: Diese Aufstellung war das Ergebnis des Brainstormings über eine Testplattform für Access/VBA. Aus diesen Überlegungen ist das Projekt AccUnit entstanden.

Weiterführende Links: AccUnit Startseite · Bedienungsanleitung