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 (Entwicklung)
K (Was soll eine Access/VBA-Test-Plattform können?)
 
(Der Versionsvergleich bezieht 40 dazwischenliegende Versionen mit ein.)
Zeile 1: Zeile 1:
-
__NOTOC__
+
{{Hierarchy header}} __NOTOC__
[[Kategorie:Testframework]]
[[Kategorie:Testframework]]
[[Kategorie:Access-Add-In]]
[[Kategorie:Access-Add-In]]
-
=== Was soll eine ''Access/VBA-Test-Suite'' können? ===
+
=== Was soll eine ''Access/VBA-Test-Plattform'' 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}}
Zeile 19: Zeile 19:
*** Stringvariable / String-Rückgabe
*** Stringvariable / String-Rückgabe
* Rollback-Funktionalität
* Rollback-Funktionalität
-
*: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>){{checked}} für Jet: Rollback-Attribut
 +
** Für SQL-Server noch testen/erweitern
* 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}}
Zeile 26: Zeile 27:
** Testklassen aus Vorlagen erzeugen{{checked}}
** Testklassen aus Vorlagen erzeugen{{checked}}
** Assistent für Test-Methoden (vor allem für Row-Tests)
** 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
* Test-Verwaltung
-
** Testklassen mit Compiler-Anweisungen auskommentieren, damit bei der Auslieferung der Anwendung die Verweise auf SimplyVBUnit und AccUnit nicht benötigt werden.
+
** <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}}
** Testklassen der Anwendung exportieren und importieren (z. B. als Textdatei in ein Unterverzeichnis){{checked}}
* TreeView für die Testergebnisse
* TreeView für die Testergebnisse
Zeile 35: Zeile 37:
** Beim Lauf der Tests bereits den Status anzeigen (pending, executing, passed, failed, error, inconclusive, ignored)
** 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.''
** 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)
+
** Bei Doppelklick auf einen Eintrag soll ein Fenster mit den Angaben aufgehen in denen auch lange Texte gelesen werden können (ggflls. mit Scrollen)'
-
** Eine vertikale Bildlaufleiste soll bei Bedarf eingeblendet werden{{checked}} ''... diese wird angezeigt, es ist aber derzeit die Breite schlecht anpassbar''
+
** Kontextmenü zum Öffnen der Detailansicht, Wechseln zum Code usw.{{checked}}
** Kontextmenü zum Öffnen der Detailansicht, Wechseln zum Code usw.{{checked}}
* Category-Attribut
* Category-Attribut
-
** Parameter: Name (erforderlich)
+
** Parameter: Name (erforderlich) => AccUnit:Tags {{checked}}
-
* Ignore-Attribut
+
* Ignore-Attribut{{checked}}
** Parameter: Begründung (<s>erforderlich</s>){{checked}}
** Parameter: Begründung (<s>erforderlich</s>){{checked}}
 +
* Schnittstellen
 +
** Ferngesteuerter Testaufruf inkl. Rückgabe des Testergebnisses
-
=== Verwendung von AccUnit ===
 
-
[[AccUnit:Erzeugen der Testumgebung | Erzeugen der Testumgebung (Verweise + Hilfsklassen u. -module)]]
 
-
[[AccUnit:Tests erstellen| Tests erstellen]]
+
----
-
[[AccUnit:VBIDE Add-in| Add-in für den VBA-Editor]]
+
''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.
-
=== Entwicklung ===
+
{{related links|links=[http://accunit.access-codelib.net/ AccUnit Startseite] &middot; [http://de.accunit.access-codelib.net/Erste_Schritte Bedienungsanleitung]}}
-
 
+
-
[http://source.access-codelib.net/doc/accunit Code-Dokumentation]
+
-
 
+
-
[[AccUnit:Hinweise und Notizen zum Quellcode|Hinweise und Notizen zum C#-Quellcode der AccUnit-Bibliothek]]
+
-
 
+
-
[[AccUnit:Datengetriebene Tests in SimplyVBUnit v3|Funktionsweise von datengetriebenen Tests in SimplyVBUnit v3]]
+
-
 
+
-
[[AccUnit:Begriffe|Begriffe / Definitionen]]
+
-
 
+
-
[[AccUnit:Aufbau|Aufbau der TestSuite]]
+
-
 
+
-
{{websvn.accunit|path=src/#path_trunk_src_|text=Quellcode im SVN-Repostitory}}
+
-
 
+
-
[http://bug.access-codelib.net/set_project.php?ref=view_all_set.php&project_id=13 Fehler und Ergänzungswünsche eintragen]
+
-
 
+
-
===== SimplyVBUnit-VBATestSuite =====
+
-
[[VBATestSuite:Übersicht|VBATestSuite mit SimplyVBUnit]]
+

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