Gemeinsam zu mehr Effizienz in der Anwendungserstellung
K (→Was soll eine Access/VBA-Test-Suite können?) |
K (→Was soll eine Access/VBA-Test-Plattform können?) |
||
(Der Versionsvergleich bezieht 113 dazwischenliegende Versionen mit ein.) | |||
Zeile 1: | Zeile 1: | ||
- | {{ | + | {{Hierarchy header}} __NOTOC__ |
- | + | [[Kategorie:Testframework]] | |
- | }} | + | [[Kategorie:Access-Add-In]] |
- | + | === Was soll eine ''Access/VBA-Test-Plattform'' können? === | |
- | === Was soll eine ''Access/VBA-Test- | + | |
* Einfacher Start der Tests | * Einfacher Start der Tests | ||
- | ** Alle vorhandenen Tests starten: <code>TestSuite. | + | ** Alle vorhandenen Tests starten: <code>TestSuite.AddFromVBProject.Run</code>{{checked}} bzw. über VBIDE-Add-In{{checked}} |
- | ** Einzelne Tests starten: <code>TestSuite. | + | ** 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( | + | ** 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 in ... | ** 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- | + | * 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 aus Tabelle auslesen, ohne im Test einen Datenzugriff programmieren zu müssen. | + | ** 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 | ||
+ | |||
+ | |||
+ | ---- | ||
- | + | ''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:// | + | |
- | {{ | + | {{related links|links=[http://accunit.access-codelib.net/ AccUnit Startseite] · [http://de.accunit.access-codelib.net/Erste_Schritte Bedienungsanleitung]}} |
- | + |
AccUnit |
TestSuite.AddFromVBProject.Run
bzw. über VBIDE-Add-In
TestSuite.Add(new Testklasse).Run
bzw. in Add-In auswählen
TestSuite.Run(tsActiveCodeModul)
DBEngine.BeginTrans
/DBEngine.Rollback
) für Jet: Rollback-Attribut
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