AccUnit

Unit Testing in VBA - Microsoft Access, Excel, …

AccUnit-Attribute

Aus AccUnit
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „__NOTOC__ == AccUnit:TestClass == Markiert eine Klasse als Testklasse. ==== Syntax ==== <source>' AccUnit:TestClass</source> ==== Verwendbar in ==== * Deklaratio…“)
 
(Der Versionsvergleich bezieht 16 dazwischenliegende Versionen mit ein.)
Zeile 2: Zeile 2:
== AccUnit:TestClass ==
== AccUnit:TestClass ==
Markiert eine Klasse als Testklasse.
Markiert eine Klasse als Testklasse.
 +
==== Syntax ====
==== Syntax ====
<source>' AccUnit:TestClass</source>
<source>' AccUnit:TestClass</source>
Zeile 9: Zeile 10:
== AccUnit:TestRelated ==
== AccUnit:TestRelated ==
-
Markiert eine Klasse oder ein Standardmodul als Hilfsmodulen  für Tests. Diese Codemodule bzw. Formulare/Berichte können wie die Testklassen importiert bzw. exportiert werden.
+
Markiert eine Klasse, Standardmodul bzw. Formulare/Berichte als Hilfsmodule für Tests. Diese Codemodule bzw. Formulare/Berichte können wie Testklassen importiert bzw. exportiert werden.
 +
 
==== Syntax ====
==== Syntax ====
<source>' AccUnit:TestRelated </source>
<source>' AccUnit:TestRelated </source>
Zeile 20: Zeile 22:
== AccUnit:Row ==
== AccUnit:Row ==
 +
Übergabe der Row-Test-Parameter
 +
==== Syntax ====
==== Syntax ====
<source>' AccUnit:Row(Param1, Param2)</source>
<source>' AccUnit:Row(Param1, Param2)</source>
Zeile 25: Zeile 29:
==== Verwendbar in ====
==== Verwendbar in ====
* Deklarationsbereich einer Testmethode
* Deklarationsbereich einer Testmethode
 +
 +
==== Beispiel ====
 +
 +
===== Methode/Funktion =====
 +
 +
<source lang="vb">
 +
Public Function GetFoo(ByVal JaNein As String) As Boolean
 +
    GetFoo = False
 +
    If JaNein = "Ja" Then GetFoo = True
 +
End Function
 +
</source>
 +
 +
===== Test Methode =====
 +
 +
<source lang="vb">
 +
'AccUnit:Row("Ja", True)
 +
'AccUnit:Row("Nein", False)
 +
Public Sub GetFoo_ValueTest(ByVal value As String, ByVal Expected As Boolean)
 +
    Assert.That GetFoo(value), Iz.EqualTo(Expected)
 +
End Sub
 +
</source>
 +
 +
== AccUnit:TestClass:Tags ==
 +
Markiert Testklassen. Kann zum Filtern der Tests verwendet werden.
 +
 +
==== Syntax ====
 +
<source>' AccUnit:TestClass:Tags(Tag1, Tag2, Tag3)</source>
 +
 +
==== Verwendbar in ====
 +
* Deklarationsbereich einer Testklasse
== AccUnit:Tags ==
== AccUnit:Tags ==
 +
Markiert Testmethoden. Kann zum Filtern der Tests verwendet werden.
 +
==== Syntax ====
==== Syntax ====
<source>' AccUnit:Tags(Tag1, Tag2, Tag3)</source>
<source>' AccUnit:Tags(Tag1, Tag2, Tag3)</source>
==== Verwendbar in ====
==== Verwendbar in ====
-
* Deklarationsbereich einer Testklasse
 
* Deklarationsbereich einer Testmethode
* Deklarationsbereich einer Testmethode
-
* Erweiterung des Row-Attributs
+
 
 +
==== Bemerkung ====
 +
* Tags auf Methodenebene werden in der Anzeige der Testergebnisse automatisch auf Ebene der jeweiligen Testklasse mit angezeigt.
== AccUnit:Ignore ==
== AccUnit:Ignore ==
 +
Testklasse oder Methode nicht ausführen.
 +
==== Syntax ====
==== Syntax ====
-
<source>' AccUnit:Ignore(Comment)</source>
+
<source>' AccUnit:Ignore
 +
' AccUnit:Ignore(Comment)
 +
' AccUnit:Row(Param1, Param2).Ignore(Comment)</source>
==== Verwendbar in ====
==== Verwendbar in ====
Zeile 46: Zeile 87:
== AccUnit:ClickingMsgBox ==
== AccUnit:ClickingMsgBox ==
 +
 +
Mausklicks für Msgbox-Ersatzfunktion
 +
==== Syntax ====
==== Syntax ====
-
<source>' AccUnit:ClickingMsgBox(vbYes, vbOk, vbNo)</source>
+
<source>' AccUnit:ClickingMsgBox(vbYes, vbOk, vbNo)
 +
' AccUnit:Row(Param1, Param2).ClickingMsgBox(vbYes, vbOk, vbNo))</source>
==== Verwendbar in ====
==== Verwendbar in ====
* Deklarationsbereich einer Testmethode
* Deklarationsbereich einer Testmethode
* Erweiterung des Row-Attributs
* Erweiterung des Row-Attributs
 +
 +
 +
== AccUnit:Rollback ==
 +
 +
Erzeugt vor jedem Lauf der Testmethode eine Transaktion auf den Standard Jet-Workspace (DAO) und rollt diese Transaktion nach dem Lauf der Testmethode wieder zurück.
 +
 +
==== Syntax ====
 +
<source>' AccUnit:Rollback</source>
 +
 +
==== Verwendbar in ====
 +
* Deklarationsbereich einer Testmethode
 +
 +
==== ''Nicht'' verwendbar bei ====
 +
* Eingebauten Domänenaggregatfunktionen (DLookup, DCount, etc.) - hier Ersatzfunktionen verwenden
 +
* Produktionscode der selbst Transaktionen verwendet.
 +
* Per OleDb eingebundene SQL-Server Backends
 +
 +
==== Vorsicht ====
 +
Der Rollback setzt den Zähler für AutoWert-Spalten nicht zurück. Nach einem zurückgerollten Insert ist der dabei vergebene AutoWert nicht mehr verfügbar.

Aktuelle Version vom 23:07, 14. Mai 2012

AccUnit:TestClass

Markiert eine Klasse als Testklasse.

Syntax

' AccUnit:TestClass

Verwendbar in

  • Deklarationsbereich einer Klasse

AccUnit:TestRelated

Markiert eine Klasse, Standardmodul bzw. Formulare/Berichte als Hilfsmodule für Tests. Diese Codemodule bzw. Formulare/Berichte können wie Testklassen importiert bzw. exportiert werden.

Syntax

' AccUnit:TestRelated

Verwendbar in

  • Deklarationsbereich einer Klasse
  • Deklarationsbereich eines Standardmoduls
  • Deklarationsbereich eines Formular- oder Bericht-Moduls


AccUnit:Row

Übergabe der Row-Test-Parameter

Syntax

' AccUnit:Row(Param1, Param2)

Verwendbar in

  • Deklarationsbereich einer Testmethode

Beispiel

Methode/Funktion
Public Function GetFoo(ByVal JaNein As String) As Boolean
    GetFoo = False
    If JaNein = "Ja" Then GetFoo = True
End Function
Test Methode
'AccUnit:Row("Ja", True)
'AccUnit:Row("Nein", False)
Public Sub GetFoo_ValueTest(ByVal value As String, ByVal Expected As Boolean)
    Assert.That GetFoo(value), Iz.EqualTo(Expected)
End Sub

AccUnit:TestClass:Tags

Markiert Testklassen. Kann zum Filtern der Tests verwendet werden.

Syntax

' AccUnit:TestClass:Tags(Tag1, Tag2, Tag3)

Verwendbar in

  • Deklarationsbereich einer Testklasse


AccUnit:Tags

Markiert Testmethoden. Kann zum Filtern der Tests verwendet werden.

Syntax

' AccUnit:Tags(Tag1, Tag2, Tag3)

Verwendbar in

  • Deklarationsbereich einer Testmethode

Bemerkung

  • Tags auf Methodenebene werden in der Anzeige der Testergebnisse automatisch auf Ebene der jeweiligen Testklasse mit angezeigt.

AccUnit:Ignore

Testklasse oder Methode nicht ausführen.

Syntax

' AccUnit:Ignore
' AccUnit:Ignore(Comment)
' AccUnit:Row(Param1, Param2).Ignore(Comment)

Verwendbar in

  • Deklarationsbereich einer Klasse
  • Deklarationsbereich einer Testmethode
  • Erweiterung des Row-Attributs

AccUnit:ClickingMsgBox

Mausklicks für Msgbox-Ersatzfunktion

Syntax

' AccUnit:ClickingMsgBox(vbYes, vbOk, vbNo)
' AccUnit:Row(Param1, Param2).ClickingMsgBox(vbYes, vbOk, vbNo))

Verwendbar in

  • Deklarationsbereich einer Testmethode
  • Erweiterung des Row-Attributs


AccUnit:Rollback

Erzeugt vor jedem Lauf der Testmethode eine Transaktion auf den Standard Jet-Workspace (DAO) und rollt diese Transaktion nach dem Lauf der Testmethode wieder zurück.

Syntax

' AccUnit:Rollback

Verwendbar in

  • Deklarationsbereich einer Testmethode

Nicht verwendbar bei

  • Eingebauten Domänenaggregatfunktionen (DLookup, DCount, etc.) - hier Ersatzfunktionen verwenden
  • Produktionscode der selbst Transaktionen verwendet.
  • Per OleDb eingebundene SQL-Server Backends

Vorsicht

Der Rollback setzt den Zähler für AutoWert-Spalten nicht zurück. Nach einem zurückgerollten Insert ist der dabei vergebene AutoWert nicht mehr verfügbar.

Persönliche Werkzeuge