On Tue, Apr 14, 2009 at 11:34 AM, Korny Sietsma <ko...@sietsma.com> wrote:
> I should clarify what might not be obvious from the code: > This builds two sets of pages in the wiki: > > - Features, which are basically just a dump of the features files into wiki > format, added as children of the main "Features" page (confluence lets you > have parent/child relationships, which is great for this sort of thing - no > need to create an index page) > > - Stories, which are our user stories; these are written by hand, and the > script looks for story tags on each scenario, and if it finds a matching > story in the wiki, it inserts the scenario into that wiki page (and links it > back to the matching feature page). > Sounds like an excellent example of adaptation for a team that has already settled on an external tool to manage the development process and communication in general. Cool stuff! Aslak > > So, for example, I might have features: > ---- > Feature: top level tabs (in tabs.feature) > @story-f-001 @story-f-002 @qa > Scenario: visit the foo tab > Given I am viewing the main page > When I navigate to the "Foo" tab > Then I should be on the "Foo" panel > ---- > Feature: foo wrangling (in foo.feature) > @story-f-001 @qa > Scenario: display all foos > Given I am viewing the "Foo" panel > When I select "view all" > Then I should see all foos in the system > > Running "cucumber --dry-run --format WikiFormatter" will build new wiki > pages "tabs" and "foo", and if there is a story page called "foo-1" it will > add the tagged scenarios to it as well. (in a special "qa" section in this > case) > > - Korny > > > On Tue, Apr 14, 2009 at 5:11 PM, Korny Sietsma <ko...@sietsma.com> wrote: > >> Good idea. It's at http://gist.github.com/95033 >> And as I said before, it's pretty hacky :) >> >> - Korny >> >> >> On Tue, Apr 14, 2009 at 3:11 PM, aslak hellesoy <aslak.helle...@gmail.com >> > wrote: >> >>> >>> >>> On Tue, Apr 14, 2009 at 6:06 AM, Korny Sietsma <ko...@sietsma.com>wrote: >>> >>>> In case anyone followed this: I got everything working pretty nicely - >>>> now I have a cucumber formatter that automatically updates a confluence >>>> wiki. >>>> >>>> I still have to cover some bits like table outputs and the like, but the >>>> basics are pretty nice - I use cucumber to parse the features and create a >>>> wiki page per feature file with the (complete) feature, and I also check >>>> for >>>> scenarios with tags like "@story-blah", and update the corresponding story >>>> page in the wiki. >>>> >>>> I'm not sure this stuff is much use generally, it's pretty tightly >>>> coupled to how we have our wiki set up - but I'm happy to share the (messy) >>>> code if anyone is interested. >>>> >>> >>> Why not share it as a http://gist.github.com/ ? >>> >>> Aslak >>> >>> >>>> - Korny >>>> >>>> >>>> On Wed, Apr 8, 2009 at 4:24 PM, Korny Sietsma <ko...@sietsma.com>wrote: >>>> >>>>> Hmm - on digging further, I might be better off writing a custom >>>>> formatter as described at >>>>> http://wiki.github.com/aslakhellesoy/cucumber/custom-formatters, and >>>>> just invoking cucumber with --dry-run and my formatter... Though as I >>>>> want >>>>> to use the html formatter to format steps for insertion into the wiki, >>>>> I've >>>>> still got some work to do :) >>>>> >>>>> - korny >>>>> >>>>> >>>>> On Wed, Apr 8, 2009 at 11:01 AM, Korny Sietsma <ko...@sietsma.com>wrote: >>>>> >>>>>> Hi folks, >>>>>> I'm writing some scripts to integrate our cucumber features with >>>>>> stories stored in a wiki, and I'm hoping to use cucumber's parser to >>>>>> parse >>>>>> the features rather than doing it manually. (I don't really care about >>>>>> the >>>>>> feature contents much, just scenario titles and tags) >>>>>> >>>>>> I've worked out how to parse the features: >>>>>> Cucumber.load_language('en') >>>>>> features = Cucumber::Ast::Features.new >>>>>> parser = Cucumber::Parser::FeatureParser.new >>>>>> >>>>>> feature_files = Dir["#{FEATURE_DIR}/**/*.feature"] >>>>>> >>>>>> feature_files.each do |f| >>>>>> puts "parsing feature file #{f}" >>>>>> features.add_feature(parser.parse_file(f)) >>>>>> end >>>>>> >>>>>> But now I'm digging in to the whole ast visitor thing, and it's >>>>>> getting quite complex to *do* stuff with the features once I've parsed >>>>>> them. >>>>>> >>>>>> I'm sure I can work this out myself, given time, but I was wondering >>>>>> if there are any code examples out there to save me some of the >>>>>> time/effort? Anyone else tried parsing features like this from outside >>>>>> Cucumber itself? >>>>>> >>>>>> Thanks! >>>>>> >>>>>> - Korny >>>>>> >>>>>> -- >>>>>> Kornelis Sietsma korny at my surname dot com >>>>>> "Every jumbled pile of person has a thinking part >>>>>> that wonders what the part that isn't thinking >>>>>> isn't thinking of" >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Kornelis Sietsma korny at my surname dot com >>>>> "Every jumbled pile of person has a thinking part >>>>> that wonders what the part that isn't thinking >>>>> isn't thinking of" >>>>> >>>> >>>> >>>> >>>> -- >>>> Kornelis Sietsma korny at my surname dot com >>>> "Every jumbled pile of person has a thinking part >>>> that wonders what the part that isn't thinking >>>> isn't thinking of" >>>> >>>> _______________________________________________ >>>> rspec-users mailing list >>>> rspec-users@rubyforge.org >>>> http://rubyforge.org/mailman/listinfo/rspec-users >>>> >>> >>> >>> _______________________________________________ >>> rspec-users mailing list >>> rspec-users@rubyforge.org >>> http://rubyforge.org/mailman/listinfo/rspec-users >>> >> >> >> >> -- >> Kornelis Sietsma korny at my surname dot com >> "Every jumbled pile of person has a thinking part >> that wonders what the part that isn't thinking >> isn't thinking of" >> > > > > -- > Kornelis Sietsma korny at my surname dot com > "Every jumbled pile of person has a thinking part > that wonders what the part that isn't thinking > isn't thinking of" > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users >
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users