Announcement

Collapse
No announcement yet.

Snippet: Parameter in Methoden tauschen mit Hilfe von Regular Expressions

Collapse
This is a sticky topic.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Snippet: Parameter in Methoden tauschen mit Hilfe von Regular Expressions

    Moin,

    ich bin kürzlich von JUnit auf TestNG umgestiegen. Mit dem entsprechenden Plugin von Ecplipse geht das meiste auf Knopfdruck. Für den vollständigen Umstieg gibt es nur ein Problem zu lösen.

    Bei assert-Methoden, die zwei Parameter erwarten z.B. assertEquals oder assertSame erwartet JUnit die Parameter in der Reihenfolge expected, actual. Die Zwischenlösung von TestNG aus der Klasse org.testng.AssertJUnit tut das auch. Da also noch keine Herausforderung.

    Wenn man aber auf die assert-Methoden der Klasse org.testng.Assert umsteigen will, muss man die Reihenfolge der Parameter vertauschen. Die assert-Methoden dieser Klasse erwarten die Parameter nämlich in der Reihenfolge actual, expected. Hier kommt einem das Find/Replace mit Regular Expressions zur Hilfe. Um bspw. alle assertEquals-Methoden zu finden und darin die Parameter zu vertauschen, muss man folgendes eingeben:
    • Im Feld Find: assertEquals\((.+),(.+)\)
    • Im Feld Replace With: assertEquals\(\2,\1)

    Der Trick sind die Capturing Groups "(.+)" diese können über Nummern z.B. "\1" referenziert werden.

    Diese Regex mit Replace-All benutzen, danach (bei Eclipse) noch einmal Strg-Shift-F und Strg-S drücken und fertig

    Gruß ngomo
    http://www.winfonet.eu
Working...
X