Weitere Platzhalter für TestMethodTemplate?

Testen von Access-Anwendungen

Weitere Platzhalter für TestMethodTemplate?

Beitragvon Christoph Jüngling » Mo 15. Mai 2017, 08:05

Moin,

nach langer Zeit habe ich mich endlich mal wieder mit AccUnit beschäftigt. Dabei fallen einem natürlich gleich ein paar Dinge auf ;) Bitte verzeiht, falls ich etwas erwähnen sollte, das es längst gibt. Ich habe zwar gesucht, aber nichts gefunden.

Zum Thema: Aus dem vordefinierten Template für eine neue Testmethode habe ich die folgenden Platzhalter herausgelesen, die offenbar (außer dem letzten) aus dem Eingabeformular stammen:

  • {MethodUnderTest}
  • {StateUnderTest}
  • {ExpectedBehaviour}
  • {Params}

Gibt es auch so etwas wie {MethodType}, der den Ergebnistyp der Funktion abbildet? Das hätte den Vorteil, dass der Funktionstyp sofort korrekt angegeben ist und man ihn nicht zweimal ändern muss.

Damit würde ich dann folgendes Template vorschlagen (ein paar Leerzeilen und den Funktionsaufruf noch hinzugefügt, der besseren Lesbarkeit wegen):

Code: Alles auswählen

Public Sub {MethodUnderTest}_{StateUnderTest}_{ExpectedBehaviour}({Params})
        ' Arrange
        Err.Raise vbObjectError, "{MethodUnderTest}_{StateUnderTest}_{ExpectedBehaviour}", "Test not implemented"
        Const Expected As {MethodType} = "expected value"
        Dim Actual As {MethodType}

        ' Act
        Actual = {MethodUnderTest}("actual value")

        ' Assert
        Assert.That Actual, Iz.EqualTo(Expected)
End Sub
 
Christoph Jüngling
Tester
 
Beiträge: 43
Registriert: Mi 13. Okt 2010, 08:29
Wohnort: Kassel, Deutschland, Europa, Terra
Accessversion: 2003, 2010
Access-Erfahrung: Experte

Re: Weitere Platzhalter für TestMethodTemplate?

Beitragvon Josef Pötzl » So 21. Mai 2017, 15:36

Hallo!

Gibt es auch so etwas wie {MethodType}, der den Ergebnistyp der Funktion abbildet?

Derzeit nicht. ;)

Im Prinzip könnte man den Rückgabetyp der Funktion ermitteln und diesen im Template einsetzen.
Dann passt der Code für jene die
Code: Alles auswählen
Actual = ReferenzZurInstanz.MethodeMitRückgabe(...)

verwenden wollen. Ein Set bei Referenzrückgabe wäre dann auch noch zu berücksichtigen.
Bezüglich der Parameter wäre dann noch zu berücksichtigen, ob die verwendeten Funktionsparameter als Row-Test-Parameter übergeben werden, oder ob sie im Code der Test-Methode gestaltet werden.

Ich persönlich schreibe den Code der Testprozedur lieber selbst, dann muss ich nichts anpassen, was ein Assistent für mich unpassend gestaltet. ;)

Grundsätzlich ist es natürlich machbar, dass für eine Template-Erstellung zusätzliche Platzhalter eingebaut werden.

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

Re: Weitere Platzhalter für TestMethodTemplate?

Beitragvon Christoph Jüngling » Mi 24. Mai 2017, 06:40

Josef Pötzl hat geschrieben:Ich persönlich schreibe den Code der Testprozedur lieber selbst, dann muss ich nichts anpassen, was ein Assistent für mich unpassend gestaltet. ;)


Das ist ja immer noch möglich. Mein Gedanke war nur, dass möglicherweise zahlreiche Standardfälle damit abdeckbar wären. Ich bin halt Entwickler, und damit "bekennender Faulpelz" ;)
Christoph Jüngling
Tester
 
Beiträge: 43
Registriert: Mi 13. Okt 2010, 08:29
Wohnort: Kassel, Deutschland, Europa, Terra
Accessversion: 2003, 2010
Access-Erfahrung: Experte


Zurück zu AccUnit