Git Product home page Git Product logo

cukesalad's People

Contributors

antonymarcano avatar bishboria avatar despo avatar jonrowe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cukesalad's Issues

Tasks with in-line arguments

Need to add feature spec for existing behaviour:

When I attempt to add: the number '1' to the number '2'

Then add these capabilities:

When I attempt to add, the number '1' to the number '2'

or

When I attempt to add, the number '1', to the number '2'

Installing CukeSalad from rubygems

As a Step Free Cuker
I want to to easily install CukeSalad with rubygems
So that it is simpler and easier for me to get up and running on my project

Scenario: gem install cuke salad
<Scenario detail TBD>

Remembering information between steps

As a Step Free Cuker
I want information captured in one step to be available in a later step
So that I can deal with situations where dynamic information is required in later steps

Scenario: You can reuse information
Given you are a Step Free Cuker
And you did create a task: called 'do something' containing
"""
in_order_to 'do something', remembering: :value do
take_note_of the :some_key, :value
end
"""
And you did create a task: called 'find that the thing remembered was', containing
"""
in_order_to 'find that the thing remembered was' do
recall :some_key
end
"""
When you attempt to run a scenario: containing
"""
Given I am a Relevant Role
When I do something: remembering 'a value'
Then I should find that the thing remembered was 'a value'
"""
Then you should see the scenario has 'passed'

Scenario: You'll get feedback if you ask for something that wasn't noted
Given you are a Step Free Cuker
And you did not previously take note of anything
And I have created a task: called 'find that the thing remembered was', containing
"""
in_order_to 'find that the thing remembered was' do
recall :some_key
end
"""
When I run a scenario: containing
"""
Given I am a Relevant Role
Then I should find that the thing remembered was 'a value'
"""
Then I should see the scenario has 'failed'
And I should see a reply containing:
"""
You tried to recall ':some_key' but no previous step appears to have taken note of that information
"""

Upgrade to cucumber 0.10.2

Upgrading the Gemfile to use cucumber 0.10.2 and running our cucumber scenarios results in the following:

% rake cucumber                                                                                                                                                                                                           ~/Development/Ruby/CukeSalad
(in ~/Development/Ruby/CukeSalad)
bundle exec ~/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -I "~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib:lib" "~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/bin/cucumber" 
~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/ast/table.rb:3:in `require': no such file to load -- gherkin/formatter/escaping (LoadError)
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/ast/table.rb:3:in `<top (required)>'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/ast/step_invocation.rb:3:in `require'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/ast/step_invocation.rb:3:in `<top (required)>'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/ast.rb:7:in `require'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/ast.rb:7:in `<top (required)>'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/parser.rb:2:in `require'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/parser.rb:2:in `<top (required)>'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber.rb:6:in `require'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber.rb:6:in `<top (required)>'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/cli/main.rb:8:in `require'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/lib/cucumber/cli/main.rb:8:in `<top (required)>'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/bin/cucumber:11:in `require'
  from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cucumber-0.10.2/bin/cucumber:11:in `<main>'
rake aborted!
Command failed with status (1): [bundle exec ~/.rvm/rubies/ruby...]

(See full trace by running task with --trace)

Some tasks are just a one line call to a method of the same name

Some tasks end up having just one line in them and that line is much the same as the task name.

This may cause problems for some so maybe it should be something you enable or disable with options? Not sure.

Examples:

  • When there's a task and a method by the same name, perform the task
    Step: When I switch on the calculator
    Task: in_order_to 'switch on the calculator' do ...
    Method: def switch_on_the_calculator
  • When there's no task, and method with the same name on the role, call the method
    Step: When I switch on the calculator
    Method: def switch_on_the_calculator

Command Line: Setup cukesalad Project

What we want is:

% cukesalad
About to set-up your current project to work with cukesalad 
We'll be adding the following files
    features 
    features/tasks
    features/roles
    # etc...
Continue (y/n)?

OR
% cukesalad some_project

Currently getting:

% rake build                                                                                                                                                                                                             
(in /Users/antony/Development/Ruby/CukeSalad)
  Successfully built RubyGem
  Name: cukesalad
  Version: 0.2.0
  File: cukesalad-0.2.0.gem
antony@sprint(master‣1) % gem install pkg/cukesalad-0.2.0.gem                                                                                                                                                                                    
Successfully installed cukesalad-0.2.0
1 gem installed
Installing ri documentation for cukesalad-0.2.0...
Installing RDoc documentation for cukesalad-0.2.0...

% cd Examples/Test                                                                                                                                                                                                       
% cukesalad                                                                                                                                                                                                 
~/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:53:in `require': no such file to load --cukesalad/cli (LoadError)
    from ~/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:53:in `require'
    from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/gems/cukesalad-0.2.0/bin/cukesalad:4:in `<top (required)>'
    from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/bin/cukesalad:19:in `load'
    from ~/.rvm/gems/ruby-1.9.2-p180@cuke-salad/bin/cukesalad:19:in `<main>'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.