Seite 1 von 1

Weitere Platzhalter für TestMethodTemplate?

BeitragVerfasst: Mo 15. Mai 2017, 08:05
von Christoph Jüngling
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
 

Re: Weitere Platzhalter für TestMethodTemplate?

BeitragVerfasst: So 21. Mai 2017, 15:36
von Josef Pötzl
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

Re: Weitere Platzhalter für TestMethodTemplate?

BeitragVerfasst: Mi 24. Mai 2017, 06:40
von Christoph Jüngling
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" ;)