Thomas Bandt

Über mich | Kontakt | Archiv

Docx 2 UnitTest

Ich wusste doch, dass ich nicht der einzige auf diesem Planeten bin, dem ein Tool zur leichten Erstellung von (Unit-) Tests fehlte. Angestoßen durch meine kleines Tool "Word to Code" haben Daniel und Philipp den Gedanken aufgegriffen und weiterentwickelt.

Herausgekommen ist eine Erweiterung für Visual Studio 2010 namens "Docx to UnitTest", die per Kontextmenü die Generierung der Tests aus einem Word-Dokument heraus ermöglicht. Analog zu meinem Beispiel werden einzelne Testklassen erstellt, die dann die verschiedenen Testfälle abdecken. Für jede Klasse wird eine eigene Datei erzeugt (was ich derzeit nicht mache, ich fasse alle Testfälle zu einem Sut zusammen), die praktischerweise in Visual Studio mit dem Dokument verknüpft dargestellt wird. Unterstützt werden derzeit MS Test, nunit und xUnit. Besonders nett: Änderungen am Namen des Testfalls werden getrackt und unter Bewahrung des Testcodes auch on the fly geändert, so dass keine Tests verloren gehen. Beim Ändern der Klasse geht das leider noch nicht.

Ich bin mir noch nicht sicher, ob ich es persönlich einsetzen möchte. Auf der einen Seite ist es eine ganz schöne Art, die Spezifikationen direkt nicht nur lesbar zu formulieren sondern auch zu persistieren. Dabei bleiben Formatierungen, die bei der Code-Generierung zwangsläufig verloren gehen und später auch nicht mehr wiederherstellbar sind, erhalten (Kommas, Bindestriche usw.). Ganz klar ein Vorteil gegenüber einer nachträglichen Erstellung der Dokumentation aus den vorhandenen (Code-) Tests.

Auf der anderen Seite wird man aber auch gezwungen Änderungen nur und ausschließlich im Dokument vorzunehmen, da das Tracking nur in eine Richtung funktioniert. Ändert man also den Namen eines Tests bzw. einer Spezifikation im Code, bekommt es das Dokument nicht mit. Ich weiß noch nicht, ob ich das haben will - vielleicht muss ich es mal ausprobieren. Oder aber man bekommt das Tracking auch in diese Richtung gelöst?

Kommentare

  1. Tim Fischer schrieb am Freitag, 14. Mai 2010 07:41:00 Uhr:

    Die Entwicklung eines Custom Tools hätte man sich ggf. sparen können.

    Die kostenlose T4 Toolbox (codeplex) von Oleg Sych enhält einen generischen automatischen Transformer und kann auch ein ItemTemplate für Deine Worde-Datei für Visual Studio machen.

    http://www.olegsych.com/2009/11/t4-toolbox-automatic-template-transformation/

    Hast Du denn das T4 Template noch was Daniel Fischer auf seinem Blog (http://lennybacon.com/2010/05/12/Docx2UnitTest.aspx) erwähnt? Würde ich gerne mal schauen, ob ich damit auch dein Tracking Problem gelöst bekomme und auch Unterstützung für das Umbennenn von Tests.

    Viele Grüße

    Tim Fischer
  2. Thomas schrieb am Freitag, 14. Mai 2010 10:26:00 Uhr:

    Du hast schon mitbekommen, dass es hier um Philipps und Daniels Tool geht, nicht um meins?
  3. Philip schrieb am Freitag, 14. Mai 2010 13:21:00 Uhr:

    Hallo Tim,

    das T4-Template kannst du hier finden:
    http://philipproplesch.de/Files/WordToCode.rar

    Gruß
    Philip
  4. Daniel Fisher schrieb am Mittwoch, 19. Mai 2010 17:26:00 Uhr:

    Hi Thomas,

    Liegt bestimmt daran, dass die Comments bei mir nicht funktioniert haben. Die Leute sind kreativ und diskutieren einfach hier bei Dir weiter :-P

    --Daniel


« Zurück  |  Weiter »