The Blog

BDDish Beispiel Story

Da ich jetzt in einem Umfeld arbeite, in dem deutsche Akzeptanztests benötigt werden und mir hier keine BDD-Frameworks bekannt sind, die das leisten, probiere ich mich an einer Eigenentwicklung. Zurzeit handelt es sich nur um Prototyping. Eine Beispiel DSL sieht erstmal so aus:

Das Framework bekommt zunächst den Namen BBDish. Hauptziele für mich, sind die Unterstützung unterschiedlicher DSLs, für die Beschreibung von Anforderungen, visuelle ansprechende Reports, die Verknüpfung von Anforderungen und Projektmanagement-Tools, was in meinem Fall Target-Process ist.


Kick It auf dotnet-kicks.de

2 Awesome Comments So Far

Don't be a stranger, join the discussion by leaving your own comment
  1. Rainer Schuster
    Oktober 4, 2010 at 18:43 #

    Gherkin versteht Sprachdialekte (verschiedene Sprachen) http://github.com/aslakhellesoy/cucumber/wiki/gherkin

    oder für Toolfetischisten wie mich die Tool Sektion:
    http://github.com/aslakhellesoy/gherkin/wiki/tool-support

    Mit Galio und dem passenden Adapter kannst du IronRuby specs damit laufen lassen. Mit einem eigenen Generator (z.B. Template Engine) könntest du dir aus deinem XML ein Mapping erstellen und die Reports transformieren (ausser du brauchst natürlich Deutsch direkt im Code), dann wohl doch eher eine Native Lösung wie deine. Bei Specflow weiß ich nicht ob dort mittlerweile auch Gherkin benutzt wird.

    Hier noch ein kleiner Hinweis zu Gherkin aus dem Forum, wo es konkret um Parser geht:
    http://groups.google.com/group/specflow/browse_thread/thread/7800c2bc850f85d6/2be0e05c9f0bab56?#2be0e05c9f0bab56

    Ich nehme an, du hast dich bei dem Framework an StoryQ angelehnt. http://storyq.codeplex.com/

    Ich persönlich bin großer Freund von „hübschen“ DSLs, leider bietet C# einem lediglich Über Fluent APIs eine annehmliche Syntax. Die einzige Aussnahme, die ich bisher gesehen hab ist Maschine.Specifications http://github.com/machine/machine.specifications.

    Alles in allem kannst du (falls die eine oder andere Seite noch nicht auf dem Radar gewesen ist) noch Input für Ideen finden.

    • Robert
      Oktober 4, 2010 at 19:23 #

      @Rainer, Gherkin ist echt gut! Soweit ich das gelesen habe, wird das von SpecFlow jetzt auch verwendet. Was ich möchte, ist noch ein wenig anders, denn ich möchte starktypisierte Beschreibungen von Testfällen. Ein Grund ist Refaktorisierbarkeit, ein anderer ist, dass ich Kontext/Setup und Kunden mit Eigenschaften und Beziehungen versehen möchte . Sowohl für das Reporting, also auch für das Verhalten. Zum Beispiel wird ein Kontext, der an die Spezifikation übergeben wird, beim Ausführen erstellt, also seine Create() Methode wird aufgerufen.

      Ja, das Ganze ist an StoryQ angelehnt, ich möchte jedoch weiter gehen. Mit StoryQ habe ich ein paar Monate gearbeitet. BDDish ist die Verarbeitung dieser Erfahrung.