AccUnit

Unit Testing in VBA - Microsoft Access, Excel, …

Nutzung ohne Add-In

Aus AccUnit
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(AccUnit-Unterstützung für Debug-Fenster)
 
(Der Versionsvergleich bezieht 9 dazwischenliegende Versionen mit ein.)
Zeile 5: Zeile 5:
Die folgenden Punkte sind für die Bedienung per Add-In nicht erforderlich.
Die folgenden Punkte sind für die Bedienung per Add-In nicht erforderlich.
 +
 +
==== 1. Vorbedingung: SimplyVBUnit 3.0 ====
 +
Damit die AccUnit-Bibliotheken funktionieren, muss [[SimplyVBUnit|SimplyVBUnit 3.0]] installiert sein.
 +
 +
SimplyVBUnit benötigt außerdem eine registrierte COM-dll TLBINF32.DLL. Falls Visual Studio (ab 6.0) installiert ist, sollte diese Datei bereits vorhanden und registriert sein.
 +
 +
==== 2. Vorbedingung: AccUnit ====
 +
Um AccUnit im VBA-Projekt verfügbar zu machen, müssen Sie die AccUnit.Integration.dll registrieren:
 +
 +
In einer Kommandozeile (ggf. als Administrator):
 +
 +
%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe "%pfad%\AccUnit.Integration.dll" /codebase /tlb:%pfad%\AccUnit.Integration.tlb
 +
 +
Den Platzhalter %pfad% müssen Sie durch den jeweiligen Pfad zu der Dll erstezen.
 +
 +
==== 3. Vorbedingung: Bibliotheksverweise ====
 +
 +
Um AccUnit im VBA-Projekt verwenden zu können müssen Sie Bibliotheksverweise auf SimplyVBUnit und AccUnit.Integration setzen (VBA-Editor: Extras-Verweise)
 +
==== AccUnit-Unterstützung für Debug-Fenster ====
==== AccUnit-Unterstützung für Debug-Fenster ====
===== Konfiguration der Access-Anwendungen =====
===== Konfiguration der Access-Anwendungen =====
-
====== aktivieren ======
+
====== Aktivieren ======
Eingabe im Direktfenster: <code>CreateObject("AccUnit.Configurator").Init VBE.ActiveVBProject</code>
Eingabe im Direktfenster: <code>CreateObject("AccUnit.Configurator").Init VBE.ActiveVBProject</code>
Zeile 14: Zeile 33:
* Hilfsklasse ''TestSuiteStarter'' und das Modul ''_AccUnitObjects'' werden eingefügt
* Hilfsklasse ''TestSuiteStarter'' und das Modul ''_AccUnitObjects'' werden eingefügt
-
====== entfernen ======
+
 
 +
Hinweis:
 +
Falls es zu einem Compiler-Fehler in Access kommt, da IVBATestSuite nicht erkannt wird, bitte in den Codemodulen "AccUnitObjects" und "TestSuiteStarter" den Namen "IVBATestSuite" gegen "VBATestSuite" austauschen.
 +
(Bug wird in nächster AccUnit-Version behoben.)
 +
 
 +
====== Entfernen ======
Eingabe im Direktfenster: <code>CreateObject("AccUnit.Configurator").Remove VBE.ActiveVBProject</code>
Eingabe im Direktfenster: <code>CreateObject("AccUnit.Configurator").Remove VBE.ActiveVBProject</code>
 +
 +
Die Signatur der Remove-Methode des Configurators sieht so aus (C#):
 +
<code>Remove(VBProject activeVBProject = null, Boolean removeTestModules = false, Boolean exportModulesBeforeRemoving = true)</code>
 +
Quelle: [https://svn.access-codelib.net/svn/accunit/trunk/src/AccUnit.Integration/Configuration/Configurator.cs]
 +
 +
Daher können mit folgendem Aufruf auch die Test-Module und testrelevante Module entfernt werden:
 +
<code>CreateObject("AccUnit.Configurator").Remove VBE.ActiveVBProject, True</code>
 +
 +
===== Tests an TestSuite anfügen =====
 +
Einzelne Testklassen anfügen:
 +
* <code>TestSuite.Add(New NameDerTestKlasse)</code>
 +
* <code>TestSuite.AddByClassName("NameDerTestKlasse")</code>
 +
 +
Alle Testklassen des Projekts anfügen:
 +
* <code>TestSuite.AddFromVBProject</code>
 +
 +
===== Tests ausführen =====
 +
<code>TestSuite.Run</code>
 +
 +
===== Tests auswerten =====
 +
Eine Zusammenfassung der Testergebnisse ist über die Summary-Eigenschaft abrufbar:
 +
* <code>TestSuite.Summary.Total</code>
 +
* <code>TestSuite.Summary.Failed</code>
 +
* <code>TestSuite.Summary.Total</code>
 +
* ...
 +
 +
===== Anmerkungen =====
 +
Die Methoden von TestSuite können auch geschachtelt verwendet werden.
 +
z. B.: <code>TestSuite.AddFromVBProject.Run</code>

Aktuelle Version vom 18:02, 16. Okt. 2013


Inhaltsverzeichnis

Nutzung ohne Add-In

(wird nicht empfohlen)

Die folgenden Punkte sind für die Bedienung per Add-In nicht erforderlich.

1. Vorbedingung: SimplyVBUnit 3.0

Damit die AccUnit-Bibliotheken funktionieren, muss SimplyVBUnit 3.0 installiert sein.

SimplyVBUnit benötigt außerdem eine registrierte COM-dll TLBINF32.DLL. Falls Visual Studio (ab 6.0) installiert ist, sollte diese Datei bereits vorhanden und registriert sein.

2. Vorbedingung: AccUnit

Um AccUnit im VBA-Projekt verfügbar zu machen, müssen Sie die AccUnit.Integration.dll registrieren:

In einer Kommandozeile (ggf. als Administrator):

%windir%\Microsoft.NET\Framework\v2.0.50727\regasm.exe "%pfad%\AccUnit.Integration.dll" /codebase /tlb:%pfad%\AccUnit.Integration.tlb

Den Platzhalter %pfad% müssen Sie durch den jeweiligen Pfad zu der Dll erstezen.

3. Vorbedingung: Bibliotheksverweise

Um AccUnit im VBA-Projekt verwenden zu können müssen Sie Bibliotheksverweise auf SimplyVBUnit und AccUnit.Integration setzen (VBA-Editor: Extras-Verweise)

AccUnit-Unterstützung für Debug-Fenster

Konfiguration der Access-Anwendungen
Aktivieren

Eingabe im Direktfenster: CreateObject("AccUnit.Configurator").Init VBE.ActiveVBProject

Ergebnis:

  • Verweise auf AccUnit und SimplyVBUnit werden gesetzt
  • Hilfsklasse TestSuiteStarter und das Modul _AccUnitObjects werden eingefügt


Hinweis: Falls es zu einem Compiler-Fehler in Access kommt, da IVBATestSuite nicht erkannt wird, bitte in den Codemodulen "AccUnitObjects" und "TestSuiteStarter" den Namen "IVBATestSuite" gegen "VBATestSuite" austauschen. (Bug wird in nächster AccUnit-Version behoben.)

Entfernen

Eingabe im Direktfenster: CreateObject("AccUnit.Configurator").Remove VBE.ActiveVBProject

Die Signatur der Remove-Methode des Configurators sieht so aus (C#): Remove(VBProject activeVBProject = null, Boolean removeTestModules = false, Boolean exportModulesBeforeRemoving = true) Quelle: [1]

Daher können mit folgendem Aufruf auch die Test-Module und testrelevante Module entfernt werden: CreateObject("AccUnit.Configurator").Remove VBE.ActiveVBProject, True

Tests an TestSuite anfügen

Einzelne Testklassen anfügen:

  • TestSuite.Add(New NameDerTestKlasse)
  • TestSuite.AddByClassName("NameDerTestKlasse")

Alle Testklassen des Projekts anfügen:

  • TestSuite.AddFromVBProject
Tests ausführen

TestSuite.Run

Tests auswerten

Eine Zusammenfassung der Testergebnisse ist über die Summary-Eigenschaft abrufbar:

  • TestSuite.Summary.Total
  • TestSuite.Summary.Failed
  • TestSuite.Summary.Total
  • ...
Anmerkungen

Die Methoden von TestSuite können auch geschachtelt verwendet werden. z. B.: TestSuite.AddFromVBProject.Run

Persönliche Werkzeuge