AccUnit

Unit Testing in VBA - Microsoft Access, Excel, …

AccUnit-Attribute

Aus AccUnit
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Vorsicht)
(AccUnit:Row: +Beispiel)
Zeile 30: Zeile 30:
* Deklarationsbereich einer Testmethode
* Deklarationsbereich einer Testmethode
 +
==== Beispiel ====
 +
 +
===== Methode/Funktion =====
 +
 +
<pre>
 +
Public Function GetFoo(ByVal JaNein As String) As Boolean
 +
    GetFoo = False
 +
    If JaNein = "Ja" Then GetFoo = True
 +
End Function
 +
</pre>
 +
 +
===== Test Methode =====
 +
 +
<pre>
 +
'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
 +
</pre>
== AccUnit:Tags ==
== AccUnit:Tags ==

Version vom 08:45, 11. 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:Tags

Markiert Testklassen bzw. Testmethoden. Kann zum Filtern der Tests verwendet werden.

Syntax

' AccUnit:Tags(Tag1, Tag2, Tag3)

Verwendbar in

  • Deklarationsbereich einer Testklasse
  • Deklarationsbereich einer Testmethode

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