Version 0.9.5: TestMessageBox

Testen von Access-Anwendungen

Version 0.9.5: TestMessageBox

Beitragvon Josef Pötzl » Sa 15. Jan 2011, 15:28

Hallo!

In der Version 0.9.5 gibt es nun eine Möglichkeit die MsgBox-Funktion abzufangen und mit einer TestMessageBox zu ersetzen.
Damit wird es möglich, dass man im Test die zu bestätigenden Msgbox-Clicks (VbMsgBoxResult) vorab einstellt und nicht mehr selbst klicken muss, falls im zu testenden Code eine MsgBox zum Einsatz kommt.

Aufgrund dieser Änderung musste allerdings das Interface AccUnit_Integration.ITestManagerBridge erweitert werden.
In bestehenden Testklassen ist folgende Prozedur zu ergänzen:
Code: Alles auswählen
Private Function ITestManagerBridge_GetTestManager() As AccUnit_Integration.ITestManagerComInterface
   Set ITestManagerBridge_GetTestManager = TestManager
End Function



Aktivierung der TestMessageBox

Variante 1: Einstellen der Klicks für die gesamte Test-Prozedur, egal ob mit oder ohne Row-Test
Code: Alles auswählen
'AccUnit:ClickingMsgBox(vbNo, vbOk)
Public Sub TestMethode()
...


Variante 2: Einstellen der Klicks nur für den jeweiligen Row-Test
Code: Alles auswählen
'AccUnit:Row("A", "B").ClickingMsgBox(vbOk).Name = "A, B / vbOk"
Public Sub rowTestMethode(ByVal Param1 As String, ByVal Expected as String)
...


Bei Bedarf kann man auf ein Ereignis reagieren, falls man z. B. die Msgbox-Parameter ins Debug-Fenster ausgeben möchte:
Code: Alles auswählen
Private WithEvents m_TestMessageBox As AccUnit_Integration.TestMessageBox

Public Sub Setup()
    Set m_TestMessageBox = TestManager.TestMessageBox
End Sub

Public Sub Teardown()
    Set m_TestMessageBox = Nothing
End Sub

Private Sub m_TestMessageBox_Displayed(ByVal Prompt As Variant, ByVal Buttons As Long, ByVal Title As Variant, _
                                       ByVal HelpFile As Variant, ByVal Context As Variant, _
                                       ByRef MsgBoxResult As Long)
   Debug.Print Nz(Prompt, "(Kein Text)"), MsgBoxResult
End Sub


mfg
Josef
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Zurück zu AccUnit

cron