Posts mit dem Label BDD werden angezeigt. Alle Posts anzeigen
Posts mit dem Label BDD werden angezeigt. Alle Posts anzeigen

2020-03-20

Using Cucumber with Gradle with tags

I want to run Cucumber from Gradle with the possibility to specify tags. Here is a build.gradle to do this:


  • gradle cucumber - will run all cucumber scenarios but not these tagged with @Ignore
  • gradle cucumber -P tags=@Smoketest - will run all smoketests but again will ignore these with the tag @Ignore.

2010-08-12

Define cucumber environment in .couchapprc

When you set-up a .couchapprc file you can define different databases, hosts ... for different environments (see couchapp doc).
To use these set-up when running cucumber I modify the env.rb mentioned here. It use the test environment defined in .couchapprc for cucumber scenarios.


Example .couchapprc file:

2010-07-10

Culerity, Cucumber and Couchapp - Part 2

Some further modifications in the files mentioned here were necessary to get the initial setup runable.
(System configuration: WinXP, JRuby 1.5.1, CouchDB 0.11, couchapp 0.6.2)
  1. step_definitions/common_culerity_steps.rb - add this
    1. def couchapp
    2.   'rem' # enter your couchapp name here
    3. end
  2. support/paths.rb - modify

    Before:
    1.     when /start page/                                            
    2.       "/#{database}/_design/#{database}/index.html"
    3.     else                                                        
    4.  
    After:
    1.     when /start page/
    2.       "/#{database}/_design/#{couchapp}/index.html"
    3.     else
  3. step_definitions/common_culerity_steps.rb - remove ":resynchronize => true," from
    1.     $browser = Culerity::RemoteBrowserProxy.new $server, {
    2.       :browser => :firefox,
    3.       :javascript_exceptions => true,
    4.       :resynchronize => true,
    5.       :status_code_exceptions => true}
    6.  
  4. start_page.feature - modify the example scenario to
    1.   Scenario: go to the start page        
    2.     When I go to the start page          
    3.     Then I should see the text "Generated CouchApp"

After this modifications I got:
E:\projects\privat\rem>jruby -S cucumber --no-color
Feature: start page
  In order to feel welcome
  As a user
  I want to be welcomed on the start page

  Scenario: go to the start page                    # features\start_page.feature:7
2010-07-10 17:01:12 [INFO] Visit your CouchApp here:
http://localhost:5984/hejhej/_design/rem/index.html
    When I go to the start page                     # features/step_definitions/common_culerity_steps.rb:90
    Then I should see the text "Generated CouchApp" # features/step_definitions/common_culerity_steps.rb:119

1 scenario (1 passed)
2 steps (2 passed)
0m8.625s

E:\projects\privat\rem>

2010-07-09

Culerity, Cucumber and Couchapp

Starting a new couchapp application I want to try BDD. I found a small tutorial how to testing couchapps with cucumber and culerity. Unfortunatly I have to deal with WinXP, and so I run into some trouble because the culerity server doesn't start. Finally I can solve it by insert "jruby " in culerity-0.2.10/lib/culerity.rb, line 28.

Before:
def self.run_server
   IO.popen(File.dirname(__FILE__) + "/../bin/run_celerity_server.rb", 'r+').extend(ServerCommands)
end
After:
def self.run_server
   IO.popen("jruby " + File.dirname(__FILE__) + "/../bin/run_celerity_server.rb", 'r+').extend(ServerCommands)
end

2009-07-14

Generic Cucumber Steps

Zwei generische Steps, die das Ergebnis erster Gehversuche mit Cucumber sind. (Factory = factory_girl)


# Match steps like:
# * And I have projects named A, B, C
Given /^I have .+ named (.+)$/ do |names|
names.split(', ').each do |name|
Factory.create(name)
end
end

# Match steps like:
# * And I should have 1 project
# * And I should have 5 users
Then /^I should have ([0-9]+) (.+)$/ do |count, classes|
Kernel.const_get(classes.singularize.capitalize).count.should == count.to_i
end