aslakhellesoy-cucumber 0.3.93.1 → 0.3.94
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +63 -39
- data/Manifest.txt +7 -0
- data/Rakefile +1 -1
- data/cucumber.yml +2 -2
- data/features/cucumber_cli.feature +85 -3
- data/features/custom_formatter.feature +2 -2
- data/features/html_formatter/a.html +5 -5
- data/features/junit_formatter.feature +19 -12
- data/features/step_definitions/cucumber_steps.rb +8 -15
- data/features/support/env.rb +4 -5
- data/lib/cucumber/ast/feature.rb +13 -0
- data/lib/cucumber/ast/feature_element.rb +8 -4
- data/lib/cucumber/ast/features.rb +6 -1
- data/lib/cucumber/ast/table.rb +13 -6
- data/lib/cucumber/ast/tags.rb +9 -1
- data/lib/cucumber/cli/configuration.rb +1 -1
- data/lib/cucumber/cli/main.rb +25 -8
- data/lib/cucumber/cli/options.rb +30 -12
- data/lib/cucumber/filter.rb +4 -3
- data/lib/cucumber/formatter/ansicolor.rb +42 -9
- data/lib/cucumber/formatter/console.rb +38 -6
- data/lib/cucumber/formatter/html.rb +2 -8
- data/lib/cucumber/formatter/junit.rb +65 -24
- data/lib/cucumber/formatter/pretty.rb +9 -4
- data/lib/cucumber/formatter/progress.rb +7 -1
- data/lib/cucumber/rake/task.rb +3 -3
- data/lib/cucumber/step_mother.rb +3 -1
- data/lib/cucumber/version.rb +2 -2
- data/rails_generators/cucumber/templates/cucumber.rake +18 -6
- data/spec/cucumber/ast/scenario_outline_spec.rb +2 -2
- data/spec/cucumber/ast/table_spec.rb +5 -0
- data/spec/cucumber/cli/configuration_spec.rb +2 -1
- data/spec/cucumber/cli/options_spec.rb +11 -6
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,7 +1,31 @@
|
|
1
|
-
==
|
1
|
+
== 0.3.94 2009-08-06
|
2
|
+
|
3
|
+
Kanban take II.
|
4
|
+
|
5
|
+
Release 0.3.6 introduced a new --wip switch that can be used to limit work in progress
|
6
|
+
(WIP). Limiting WIP is central for Kanban Software Development (http://www.infoq.com/articles/hiranabe-lean-agile-kanban).
|
7
|
+
|
8
|
+
However, this feature went mostly unnoticed, and because we think it's so great we have decided
|
9
|
+
to make it the default for Rails projects. When you bootstrap your Rails project for Cucumber
|
10
|
+
you will now get 2 Cucumber Rake tasks for Kanban development:
|
11
|
+
|
12
|
+
cucumber:ok : Run features that should pass. This runs your "good,old" features
|
13
|
+
cucumber:wip : Run the features you're working on that don't pass yet. Tag them with @wip. Max 2!
|
14
|
+
|
15
|
+
So upgrade today and get into the habit of tagging new features with @wip (or invent your own tags).
|
16
|
+
You'll achieve better flow this way.
|
2
17
|
|
3
18
|
=== New features
|
19
|
+
* Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
|
20
|
+
* script/generate cucumber sets up 'cucumber:ok' and 'cucumber:wip' tasks and deprecates 'features'. More Kanban love. (#344 Aslak Hellesøy)
|
21
|
+
* Better JUnit formatter: feature->testsuite, scenario->testcase. Better timing and support for background and scenario outline. (Mads Buus Westmark)
|
22
|
+
* Added examples/python that uses rubypython. (Aslak Hellesøy)
|
23
|
+
* Checks the number of available colors on the terminal with ruby-terminfo if ruby-terminfo is installed.
|
24
|
+
This prevents Apple's Terminal.app from stalling (Yugui - Yuki Sonoda).
|
25
|
+
* Set 'xterm-256color' to TERM if your terminal supports grey.
|
26
|
+
* ruby-terminfo is available as genki-ruby-terminfo gem from github.
|
4
27
|
* Document builtin formatters with --help. (#406 Aslak Hellesøy)
|
28
|
+
* Added support for using regular expressions when mapping table headers. (Peter Williams)
|
5
29
|
|
6
30
|
== 0.3.93 2009-08-03
|
7
31
|
|
@@ -44,9 +68,9 @@ links in one of the columns, you can do:
|
|
44
68
|
=== New Features
|
45
69
|
* CTRL-C will exit immediately instead of carrying on until all features are run. (Aslak Hellesøy)
|
46
70
|
* Run can be stopped programmatically by setting $cucumber_interrupted = true, for example in an After block. (Aslak Hellesøy)
|
71
|
+
* Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
|
47
72
|
* Table support for cuke4duke
|
48
73
|
|
49
|
-
|
50
74
|
== 0.3.90 2009-07-22
|
51
75
|
|
52
76
|
The Hot summer release
|
@@ -58,7 +82,7 @@ a new release with lots of new features and bugfixes. This is also one of the la
|
|
58
82
|
=== Egality
|
59
83
|
|
60
84
|
English is not the world's most spoken language, so why should Cucumber force non-English speakers to use the
|
61
|
-
--language flag? As of this release you're no longer forced to do that. Instead, you can add a comment header
|
85
|
+
--language flag? As of this release you're no longer forced to do that. Instead, you can add a comment header
|
62
86
|
to your .feature files:
|
63
87
|
|
64
88
|
# language: fr
|
@@ -67,7 +91,7 @@ to your .feature files:
|
|
67
91
|
|
68
92
|
If you don't have that header, Cucumber will work as before - using whatever you specified with --language,
|
69
93
|
or default to English if no --language option was specified. A nice side effect of this is that you can now
|
70
|
-
have features in several languages side by side and run them in the same cucumber. (Not recommended unless
|
94
|
+
have features in several languages side by side and run them in the same cucumber. (Not recommended unless
|
71
95
|
you want to take polyglot programming to an extreme level).
|
72
96
|
|
73
97
|
=== Table diffing (experimental)
|
@@ -163,14 +187,14 @@ The Spork Release!
|
|
163
187
|
|
164
188
|
This release has an exciting new feature - a new --drb switch! This magic switch lets you run your
|
165
189
|
features much faster than before, because you can eliminate the startup time for your code. This is
|
166
|
-
thanks to a brand new gem called Spork by Tim Harper and Ben Mabey. (You can find out more about Spork
|
167
|
-
here: http://github.com/timcharper/spork/tree/master). You can start Spork and have it preload your
|
168
|
-
application in a separate process. Spork listens for DRb connections, and when you run cucumber with
|
169
|
-
--drb the features will run inside the Spork server instead. Spork provides two simple hooks for preloading
|
170
|
-
your application - one for framework/stable code (Spork.prefork) and one for the code that *you* write and
|
190
|
+
thanks to a brand new gem called Spork by Tim Harper and Ben Mabey. (You can find out more about Spork
|
191
|
+
here: http://github.com/timcharper/spork/tree/master). You can start Spork and have it preload your
|
192
|
+
application in a separate process. Spork listens for DRb connections, and when you run cucumber with
|
193
|
+
--drb the features will run inside the Spork server instead. Spork provides two simple hooks for preloading
|
194
|
+
your application - one for framework/stable code (Spork.prefork) and one for the code that *you* write and
|
171
195
|
change often (Spork.each_run). Keep in mind that all World, Before, and other Cucumber hooks need to be
|
172
|
-
in the Spork.each_run block. Using Spork works great for Ruby on Rails, which can take a while to load,
|
173
|
-
but --drb and Spork aren't tied to Rails at all. The new --drb switch also works great alongside autotest
|
196
|
+
in the Spork.each_run block. Using Spork works great for Ruby on Rails, which can take a while to load,
|
197
|
+
but --drb and Spork aren't tied to Rails at all. The new --drb switch also works great alongside autotest
|
174
198
|
(just add --drb to your autotest profile in cucumber.yml), so now you can get even faster feedback.
|
175
199
|
|
176
200
|
Cucumber's built-in cucumber generator now has a new --spork switch, so when you bootstrap your Rails
|
@@ -179,7 +203,7 @@ slightly different env.rb.)
|
|
179
203
|
|
180
204
|
Although Spork was in mind when the --drb switch was added it is important to realize that all that was added
|
181
205
|
to Cucumber was a DRb client. Any DRb server that adheres to this protocol can be used with Cucumber's --drb
|
182
|
-
switch. While Spork is geared towards removing the load time to give you a faster feedback loop you could
|
206
|
+
switch. While Spork is geared towards removing the load time to give you a faster feedback loop you could
|
183
207
|
just as easily use this client with a server that distributes your features to run in parallel. Someone just
|
184
208
|
needs to write such a server. ;)
|
185
209
|
|
@@ -381,7 +405,7 @@ One of the most significant new features is Tagged Hooks: http://wiki.github.com
|
|
381
405
|
This lets you associate Before and After blocks with specific scenarios.
|
382
406
|
|
383
407
|
We are also deprecating the step_list, step_pattern, feature_list, and feature_pattern accessors on
|
384
|
-
Cucumber::Rake::Task. These accessors will be completely removed in version 0.4. For complex settings
|
408
|
+
Cucumber::Rake::Task. These accessors will be completely removed in version 0.4. For complex settings
|
385
409
|
please rely on cucumber profiles in your rake tasks:
|
386
410
|
http://wiki.github.com/aslakhellesoy/cucumber/using-rake#profiles
|
387
411
|
|
@@ -428,7 +452,7 @@ in your steps. Windows/JRuby users can enjoy colours and you get some more sugar
|
|
428
452
|
* Added new Cucumber::Ast::Table#rows_hash method (Torbjørn Vatn)
|
429
453
|
* Windows/JRuby users can now enjoy colourful output (via http://github.com/aslakhellesoy/ansicolor) (#166 Aslak Hellesøy)
|
430
454
|
* Ambiguous step errors hint about --guess (unless --guess already on) (Aslak Hellesøy)
|
431
|
-
* Added translation for Slovak (Ahmed Al Hafoudh)
|
455
|
+
* Added translation for Slovak (Ahmed Al Hafoudh)
|
432
456
|
* Updated translation for Dutch (Bart Zonneveld)
|
433
457
|
* Updated translation for Italian (Alessandro Baroni)
|
434
458
|
* Updated translation for Japanese (KAKUTANI Shintaro)
|
@@ -467,11 +491,11 @@ This release fixes a few minor bugs and adds a couple of new features.
|
|
467
491
|
|
468
492
|
== 0.2.0 2009-03-18
|
469
493
|
|
470
|
-
This release sports a bunch of new and exciting features, as well a major rewrite of Cucumber's internals.
|
471
|
-
The rewrite was done to address technical debt and to have a code base that is easier to evolve and maintain.
|
494
|
+
This release sports a bunch of new and exciting features, as well a major rewrite of Cucumber's internals.
|
495
|
+
The rewrite was done to address technical debt and to have a code base that is easier to evolve and maintain.
|
472
496
|
|
473
|
-
There are some changes to the Gherkin language that breaks backwards compatible with the 0.1.x series.
|
474
|
-
Most importantly, "GivenScenario" and "More Examples" no longer exist. See the "Removed features" section
|
497
|
+
There are some changes to the Gherkin language that breaks backwards compatible with the 0.1.x series.
|
498
|
+
Most importantly, "GivenScenario" and "More Examples" no longer exist. See the "Removed features" section
|
475
499
|
below for more details on how to use alternatives.
|
476
500
|
|
477
501
|
Since the grammar has changed, there are some new keywords. We have to rely on the community
|
@@ -479,18 +503,18 @@ to provide updated translations. This is much easier than before - just update l
|
|
479
503
|
There is no static code generation anymore. To list all languages:
|
480
504
|
|
481
505
|
cucumber --lang help
|
482
|
-
|
506
|
+
|
483
507
|
And to list the keywords for a particular language:
|
484
508
|
|
485
509
|
cucumber --lang en-lol help
|
486
|
-
|
487
|
-
There are some really awesome new features in this release: Tagging, Autoformatting, automatic
|
488
|
-
aliasing of keywords in all languages, full Ruby 1.9 support and improved output
|
489
|
-
for multiline arguments are some of the highlights.
|
510
|
+
|
511
|
+
There are some really awesome new features in this release: Tagging, Autoformatting, automatic
|
512
|
+
aliasing of keywords in all languages, full Ruby 1.9 support and improved output
|
513
|
+
for multiline arguments are some of the highlights.
|
490
514
|
|
491
515
|
== Bugfixes
|
492
|
-
* New StepInvocation breaks console formatter for pending steps. (#241 Jacob Radford)
|
493
|
-
* Within Scenario Outlines when replacing with a nil in a step name use empty string instead. (#237 Joseph Wilk)
|
516
|
+
* New StepInvocation breaks console formatter for pending steps. (#241 Jacob Radford)
|
517
|
+
* Within Scenario Outlines when replacing with a nil in a step name use empty string instead. (#237 Joseph Wilk)
|
494
518
|
* Fixed bug with Scenario Outlines incorrectly replacing values in step tables with nil. (#237 Joseph Wilk)
|
495
519
|
* Within Scenario Outlines when replacing with a nil in multiline strings use empty string instead. (#238 Joseph Wilk)
|
496
520
|
* Re-structure the ast: Feature -> Background -> (Scenario|ScenarioOutline)*. Fixes bug with background being called outside transactions. (#181 Joseph Wilk)
|
@@ -522,7 +546,7 @@ for multiline arguments are some of the highlights.
|
|
522
546
|
* Rails generators supports testunit and rspec option, defaulting to rspec (#217 Josh Nichols)
|
523
547
|
* Sinatra Example (#204 Rob Holland)
|
524
548
|
* Keywords can be aliased in languages.yml. See English for an example (examples: Examples|Scenarios)
|
525
|
-
* Adding support for Background (#153 Joseph Wilk)
|
549
|
+
* Adding support for Background (#153 Joseph Wilk)
|
526
550
|
* Added Česky/Czech (Vojtech Salbaba)
|
527
551
|
* New --no-multiline option to reduce noise in output. Useful if lots of features are failing. (Aslak Hellesøy)
|
528
552
|
* Added ability to pass URIs to cucumber in addition to files and directories. Useful for troubleshooting! (Aslak Hellesøy)
|
@@ -601,8 +625,8 @@ Bugfix release
|
|
601
625
|
|
602
626
|
== 0.1.14 2009-01-04
|
603
627
|
|
604
|
-
This is the first release of Cucumber that runs on Ruby 1.9. There are still some encoding-related issues
|
605
|
-
with Arabic (ar), Japanese (ja) and Simplified Chinese (zh-CN). Patches are welcome. Other than that -
|
628
|
+
This is the first release of Cucumber that runs on Ruby 1.9. There are still some encoding-related issues
|
629
|
+
with Arabic (ar), Japanese (ja) and Simplified Chinese (zh-CN). Patches are welcome. Other than that -
|
606
630
|
a couple of minor bug fixes and polishing.
|
607
631
|
|
608
632
|
=== New features
|
@@ -619,9 +643,9 @@ a couple of minor bug fixes and polishing.
|
|
619
643
|
== 0.1.13 2008-12-20
|
620
644
|
|
621
645
|
It's time for some new features again. Output is now much better since you can use diffing, tweak
|
622
|
-
the output colours and get the full --backtrace if you want. Managing your support/* files became
|
623
|
-
a little easier since they are now always loaded before the step definitions. Life became easier
|
624
|
-
for Windows users in Norway (and other countries using unicode in the features). Plus several other
|
646
|
+
the output colours and get the full --backtrace if you want. Managing your support/* files became
|
647
|
+
a little easier since they are now always loaded before the step definitions. Life became easier
|
648
|
+
for Windows users in Norway (and other countries using unicode in the features). Plus several other
|
625
649
|
bug fixes.
|
626
650
|
|
627
651
|
Enjoy!
|
@@ -645,7 +669,7 @@ Enjoy!
|
|
645
669
|
* Fixed a bug where row step outlines were loosing step tables. (#121 Joseph Wilk, Ben Mabey)
|
646
670
|
* The Cucumber Autotest plugin now launches JRuby if autotest is run with JRuby (Aslak Hellesøy)
|
647
671
|
* Provide helpful and non-confusing error message when specified profile is blank. (#118, Ben Mabey)
|
648
|
-
* Improve handling and error messages for malformed cucumber.yml files. (#117, Ben Mabey)
|
672
|
+
* Improve handling and error messages for malformed cucumber.yml files. (#117, Ben Mabey)
|
649
673
|
* document :x run option in command line help (#114, Aslak Hellesøy)
|
650
674
|
* Change 'visits' to 'visit' in features generator to comply with new Webrat API (Darius Roberts)
|
651
675
|
|
@@ -653,7 +677,7 @@ Enjoy!
|
|
653
677
|
|
654
678
|
== 0.1.12 2008-12-04
|
655
679
|
|
656
|
-
This is the "getting serious with IronRuby release" - largely based on
|
680
|
+
This is the "getting serious with IronRuby release" - largely based on
|
657
681
|
"Patrick Gannon":http://www.patrickgannon.net/archive/2008/10/23/bdd-style-feature-tests-using-ironruby-and-rspeccucumber.aspx's
|
658
682
|
blog entry.
|
659
683
|
|
@@ -699,7 +723,7 @@ This will run foo.feature at line 15 and bar.feature at line 6, 45 and 111.
|
|
699
723
|
* AUTOFEATURE=tRue works (case insensitive) (Aslak Hellesøy)
|
700
724
|
* Initial support for .NET via IronRuby. (Aslak Hellesøy)
|
701
725
|
* Lithuanian translation (sauliusgrigaitis)
|
702
|
-
* New webrat step defintions to wrap the new selects_time, selects_date, and selects_datetime methods. (Ben Mabey)
|
726
|
+
* New webrat step defintions to wrap the new selects_time, selects_date, and selects_datetime methods. (Ben Mabey)
|
703
727
|
* Try to load webrat gem if it's not installed as a plugin (Aslak Hellesøy)
|
704
728
|
* Support example.feature:20 or example.feature:10:20:30 syntax for running features at specific line number(s). (#88 Joseph Wilk)
|
705
729
|
|
@@ -751,7 +775,7 @@ support and how multiline strings work in feature files:
|
|
751
775
|
that "indents"
|
752
776
|
and spans
|
753
777
|
several lines
|
754
|
-
|
778
|
+
|
755
779
|
"""
|
756
780
|
|
757
781
|
# In your steps.rb file
|
@@ -807,7 +831,7 @@ Tables used to define more examples after a scenario must now be prefixed. In En
|
|
807
831
|
|
808
832
|
Feature: Addition
|
809
833
|
In order to avoid silly mistakes
|
810
|
-
As a math idiot
|
834
|
+
As a math idiot
|
811
835
|
I want to be told the sum of two numbers
|
812
836
|
|
813
837
|
Scenario: Add two numbers
|
@@ -824,7 +848,7 @@ Tables used to define more examples after a scenario must now be prefixed. In En
|
|
824
848
|
|
825
849
|
Languages that are not updated yet will have to use "More Examples" until we get the translations.
|
826
850
|
|
827
|
-
Tables can also be used as arguments to individual steps. In fact, steps now support a single argument
|
851
|
+
Tables can also be used as arguments to individual steps. In fact, steps now support a single argument
|
828
852
|
that can span several lines. This can be a table or a string.
|
829
853
|
|
830
854
|
Example:
|
@@ -891,7 +915,7 @@ example:
|
|
891
915
|
Given "I am registered as #{role}, #{name}, secret"
|
892
916
|
When "I log in with #{name}, secret"
|
893
917
|
end
|
894
|
-
|
918
|
+
|
895
919
|
Given /I am registered as (.*), (.*), (.*)/ do |role, name, password|
|
896
920
|
# (Code removed for brevity)
|
897
921
|
end
|
@@ -904,7 +928,7 @@ This means that steps can be reused in other steps. The GivenScenario feature ac
|
|
904
928
|
effect (on the scenario level), but this feature is something we're not very happy with, mostly
|
905
929
|
because it's not parameterisable. Calling steps from steps is.
|
906
930
|
|
907
|
-
GivenScenario will still be working several releases, but the plan is to remove it completely in
|
931
|
+
GivenScenario will still be working several releases, but the plan is to remove it completely in
|
908
932
|
the 0.3.0 release.
|
909
933
|
|
910
934
|
=== Seeing where a step is defined
|
data/Manifest.txt
CHANGED
@@ -167,6 +167,10 @@ examples/junit/features/one_passing_one_failing.feature
|
|
167
167
|
examples/junit/features/pending.feature
|
168
168
|
examples/junit/features/step_definitions/steps.rb
|
169
169
|
examples/pure_java/README.textile
|
170
|
+
examples/python/features/fibonacci.feature
|
171
|
+
examples/python/features/step_definitions/fib_steps.rb
|
172
|
+
examples/python/features/support/env.rb
|
173
|
+
examples/python/lib/fib.py
|
170
174
|
examples/selenium/Rakefile
|
171
175
|
examples/selenium/features/search.feature
|
172
176
|
examples/selenium/features/step_definitons/search_steps.rb
|
@@ -196,8 +200,10 @@ examples/self_test/features/sample.feature
|
|
196
200
|
examples/self_test/features/search_sample.feature
|
197
201
|
examples/self_test/features/step_definitions/sample_steps.rb
|
198
202
|
examples/self_test/features/support/env.rb
|
203
|
+
examples/self_test/features/tags_sample.feature
|
199
204
|
examples/self_test/features/tons_of_cukes.feature
|
200
205
|
examples/self_test/features/undefined_multiline_args.feature
|
206
|
+
examples/sinatra/README.textile
|
201
207
|
examples/sinatra/Rakefile
|
202
208
|
examples/sinatra/app.rb
|
203
209
|
examples/sinatra/features/add.feature
|
@@ -329,6 +335,7 @@ lib/cucumber/formatter/cucumber.sass
|
|
329
335
|
lib/cucumber/formatter/duration.rb
|
330
336
|
lib/cucumber/formatter/html.rb
|
331
337
|
lib/cucumber/formatter/junit.rb
|
338
|
+
lib/cucumber/formatter/ordered_xml_markup.rb
|
332
339
|
lib/cucumber/formatter/pretty.rb
|
333
340
|
lib/cucumber/formatter/profile.rb
|
334
341
|
lib/cucumber/formatter/progress.rb
|
data/Rakefile
CHANGED
@@ -6,4 +6,4 @@ Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
|
|
6
6
|
|
7
7
|
# Hoe gives us :default => :test, but we don't have Test::Unit tests.
|
8
8
|
Rake::Task[:default].clear_prerequisites rescue nil # For some super weird reason this fails for some...
|
9
|
-
task :default => [:spec, :
|
9
|
+
task :default => [:spec, :cucumber]
|
data/cucumber.yml
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
default: --format progress --tags ~@proposed,~@
|
2
|
-
wip: --tags @
|
1
|
+
default: --format progress --tags ~@proposed,~@wip --strict features
|
2
|
+
wip: --tags @wip --wip features
|
@@ -311,6 +311,25 @@ Feature: Cucumber command line
|
|
311
311
|
| state |
|
312
312
|
| failing |
|
313
313
|
|
314
|
+
@sample_one
|
315
|
+
Feature: Tag samples
|
316
|
+
|
317
|
+
@sample_two @sample_four
|
318
|
+
Scenario: Passing
|
319
|
+
Given missing
|
320
|
+
|
321
|
+
@sample_three
|
322
|
+
Scenario Outline:
|
323
|
+
Given <state>
|
324
|
+
|
325
|
+
Examples:
|
326
|
+
| state |
|
327
|
+
| missing |
|
328
|
+
|
329
|
+
@sample_three @sample_four
|
330
|
+
Scenario: Skipped
|
331
|
+
Given missing
|
332
|
+
|
314
333
|
Feature: undefined multiline args
|
315
334
|
|
316
335
|
Scenario: pystring
|
@@ -323,9 +342,9 @@ Feature: Cucumber command line
|
|
323
342
|
Given a table
|
324
343
|
| table |
|
325
344
|
| example |
|
326
|
-
|
327
|
-
|
328
|
-
|
345
|
+
|
346
|
+
26 scenarios (17 skipped, 8 undefined, 1 passed)
|
347
|
+
42 steps (30 skipped, 12 undefined)
|
329
348
|
|
330
349
|
"""
|
331
350
|
|
@@ -488,6 +507,69 @@ Feature: Cucumber command line
|
|
488
507
|
|
489
508
|
"""
|
490
509
|
|
510
|
+
Scenario: Run with limited tag number
|
511
|
+
When I run cucumber -q features/tags_sample.feature --dry-run -t sample_three:1
|
512
|
+
Then it should fail with
|
513
|
+
"""
|
514
|
+
@sample_one
|
515
|
+
Feature: Tag samples
|
516
|
+
|
517
|
+
@sample_three
|
518
|
+
Scenario Outline:
|
519
|
+
Given <state>
|
520
|
+
|
521
|
+
Examples:
|
522
|
+
| state |
|
523
|
+
| missing |
|
524
|
+
|
525
|
+
@sample_three @sample_four
|
526
|
+
Scenario: Skipped
|
527
|
+
Given missing
|
528
|
+
|
529
|
+
2 scenarios (2 undefined)
|
530
|
+
2 steps (2 undefined)
|
531
|
+
|
532
|
+
Failed due to exceeding the tag limit
|
533
|
+
@sample_three occurred:2 limit:1
|
534
|
+
features/tags_sample.feature:9
|
535
|
+
features/tags_sample.feature:16
|
536
|
+
|
537
|
+
"""
|
538
|
+
|
539
|
+
Scenario: Run with a feature tag which has a limit
|
540
|
+
When I run cucumber -q features/tags_sample.feature --dry-run -t sample_one:1
|
541
|
+
Then it should fail with
|
542
|
+
"""
|
543
|
+
@sample_one
|
544
|
+
Feature: Tag samples
|
545
|
+
|
546
|
+
@sample_two @sample_four
|
547
|
+
Scenario: Passing
|
548
|
+
Given missing
|
549
|
+
|
550
|
+
@sample_three
|
551
|
+
Scenario Outline:
|
552
|
+
Given <state>
|
553
|
+
|
554
|
+
Examples:
|
555
|
+
| state |
|
556
|
+
| missing |
|
557
|
+
|
558
|
+
@sample_three @sample_four
|
559
|
+
Scenario: Skipped
|
560
|
+
Given missing
|
561
|
+
|
562
|
+
3 scenarios (3 undefined)
|
563
|
+
3 steps (3 undefined)
|
564
|
+
|
565
|
+
Failed due to exceeding the tag limit
|
566
|
+
@sample_one occurred:3 limit:1
|
567
|
+
features/tags_sample.feature:5
|
568
|
+
features/tags_sample.feature:9
|
569
|
+
features/tags_sample.feature:16
|
570
|
+
|
571
|
+
"""
|
572
|
+
|
491
573
|
Scenario: Reformat files with --autoformat
|
492
574
|
When I run cucumber --autoformat tmp/formatted features
|
493
575
|
Then "examples/self_test/tmp/formatted/features/sample.feature" should contain
|
@@ -4,8 +4,8 @@ Feature: Custom Formatter
|
|
4
4
|
When I run cucumber --format Cucumber::Formatter::TagCloud features
|
5
5
|
Then it should fail with
|
6
6
|
"""
|
7
|
-
| after_file | background_tagged_before_on_outline | four | lots | one | three | two |
|
8
|
-
| 1 | 1 | 1 | 1 | 1 | 2 | 1 |
|
7
|
+
| after_file | background_tagged_before_on_outline | four | lots | one | sample_four | sample_one | sample_three | sample_two | three | two |
|
8
|
+
| 1 | 1 | 1 | 1 | 1 | 2 | 1 | 2 | 1 | 2 | 1 |
|
9
9
|
|
10
10
|
"""
|
11
11
|
|
@@ -139,7 +139,7 @@ features/background/failing_background.feature:5:in `Given failing without a tab
|
|
139
139
|
features/background/failing_background_after_success.feature:5:in `And '10' global cukes'</pre></li><li class="step skipped" id="features_background_failing_background_after_success_feature_11"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' global cukes</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Passing background with multiline args</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_background_multiline_args_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">table</span></div><table><tr id="row_5"><td class="val" id="row_5_0">a</td><td class="val" id="row_5_1">b</td></tr><tr id="row_6"><td class="val" id="row_6_0">c</td><td class="val" id="row_6_1">d</td></tr></table></li><li class="step passed" id="features_background_multiline_args_background_feature_7"><div><span class="keyword">And</span> <span class="step val">multiline string</span></div><pre class="val"> I'm a cucumber and I'm okay. 
 I sleep all night and I test all day</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol><li class="step passed" id="features_background_multiline_args_background_feature_14"><div><span class="keyword">Then</span> <span class="step val">the table should be</span></div><table><tr id="row_15"><td class="val" id="row_15_0">a</td><td class="val" id="row_15_1">b</td></tr><tr id="row_16"><td class="val" id="row_16_0">c</td><td class="val" id="row_16_1">d</td></tr></table></li><li class="step passed" id="features_background_multiline_args_background_feature_17"><div><span class="keyword">Then</span> <span class="step val">the multiline string should be</span></div><pre class="val"> I'm a cucumber and I'm okay. 
 I sleep all night and I test all day</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">another passing background</span></h3><ol><li class="step passed" id="features_background_multiline_args_background_feature_24"><div><span class="keyword">Then</span> <span class="step val">the table should be</span></div><table><tr id="row_25"><td class="val" id="row_25_0">a</td><td class="val" id="row_25_1">b</td></tr><tr id="row_26"><td class="val" id="row_26_0">c</td><td class="val" id="row_26_1">d</td></tr></table></li><li class="step passed" id="features_background_multiline_args_background_feature_27"><div><span class="keyword">Then</span> <span class="step val">the multiline string should be</span></div><pre class="val"> I'm a cucumber and I'm okay. 
 I sleep all night and I test all day</pre></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Passing background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_background_passing_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">passing background</span></h3><ol><li class="step passed" id="features_background_passing_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">another passing background</span></h3><ol><li class="step passed" id="features_background_passing_background_feature_10"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Pending background sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step undefined" id="features_background_pending_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">pending</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">pending background</span></h3><ol><li class="step skipped" id="features_background_pending_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">another pending background</span></h3><ol><li class="step skipped" id="features_background_pending_background_feature_10"><div><span class="keyword">Then</span> <span class="step val">I should have '<span class="param">10</span>' cukes</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: Failing background with scenario outlines sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step failed" id="features_background_scenario_outline_failing_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><pre class="failed">FAIL (RuntimeError)
|
140
140
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
141
141
|
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
142
|
-
features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">failing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_failing_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '<count>' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">count</th></tr><tr id="row_10"><td class="val skipped" id="row_10_0">10</td></tr><tr><td
|
142
|
+
features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">failing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_failing_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '<count>' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">count</th></tr><tr id="row_10"><td class="val skipped" id="row_10_0">10</td></tr><tr><td class="failed" colspan="1"><pre>FAIL (RuntimeError)
|
143
143
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
144
144
|
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
145
145
|
features/background/scenario_outline_failing_background.feature:4:in `Given failing without a table'</pre></td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">another failing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_failing_background_feature_13"><div><span class="keyword">Then</span> <span class="step val">I should have '<count>' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_15"><th class="val skipped_param" id="row_15_0">count</th></tr><tr id="row_16"><td class="val skipped" id="row_16_0">10</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Passing background with scenario outlines sample</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val"></span></h3><ol><li class="step passed" id="features_background_scenario_outline_passing_background_feature_4"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">10</span>' cukes</span></div></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">passing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_passing_background_feature_7"><div><span class="keyword">Then</span> <span class="step val">I should have '<count>' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">count</th></tr><tr id="row_10"><td class="val passed" id="row_10_0">10</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">another passing background</span></h3><ol><li class="step skipped" id="features_background_scenario_outline_passing_background_feature_13"><div><span class="keyword">Then</span> <span class="step val">I should have '<count>' cukes</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_15"><th class="val skipped_param" id="row_15_0">count</th></tr><tr id="row_16"><td class="val passed" id="row_16_0">10</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Calling undefined step</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Call directly</span></h3><ol><li class="step undefined" id="features_call_undefined_step_from_step_def_feature_4"><div><span class="keyword">Given</span> <span class="step val">a step definition that calls an undefined step</span></div><pre class="undefined">Undefined step: "this does not exist" (Cucumber::Undefined)
|
@@ -163,7 +163,7 @@ yawn</span></h3><ol><li class="step passed" id="features_multiline_name_feature_
|
|
163
163
|
which goes on and on and on for three lines
|
164
164
|
yawn</span></h3><ol><li class="step skipped" id="features_multiline_name_feature_16"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_18"><th class="val skipped_param" id="row_18_0">state</th></tr><tr id="row_19"><td class="val passed" id="row_19_0">passing</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">name</span></h3><ol><li class="step skipped" id="features_multiline_name_feature_22"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">I'm a multiline name
|
165
165
|
which goes on and on and on for three lines
|
166
|
-
yawn</span></h4><table><tr id="row_26"><th class="val skipped_param" id="row_26_0">state</th></tr><tr id="row_27"><td class="val passed" id="row_27_0">passing</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Outline Sample</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">I have no steps</span></h3><ol></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Test state</span></h3><ol><li class="step skipped" id="features_outline_sample_feature_6"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li><li class="step skipped" id="features_outline_sample_feature_7"><div><span class="keyword">Given</span> <span class="step val"><other_state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Rainbow colours</span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">state</th><th class="val skipped_param" id="row_9_1">other_state</th></tr><tr id="row_10"><td class="val undefined" id="row_10_0">missing</td><td class="val skipped" id="row_10_1">passing</td></tr><tr id="row_11"><td class="val passed" id="row_11_0">passing</td><td class="val passed" id="row_11_1">passing</td></tr><tr id="row_12"><td class="val failed" id="row_12_0">failing</td><td class="val skipped" id="row_12_1">passing</td></tr><tr><td
|
166
|
+
yawn</span></h4><table><tr id="row_26"><th class="val skipped_param" id="row_26_0">state</th></tr><tr id="row_27"><td class="val passed" id="row_27_0">passing</td></tr></table></div></div></div><div class="feature"><h2><span class="val">Feature: Outline Sample</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">I have no steps</span></h3><ol></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Test state</span></h3><ol><li class="step skipped" id="features_outline_sample_feature_6"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li><li class="step skipped" id="features_outline_sample_feature_7"><div><span class="keyword">Given</span> <span class="step val"><other_state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Rainbow colours</span></h4><table><tr id="row_9"><th class="val skipped_param" id="row_9_0">state</th><th class="val skipped_param" id="row_9_1">other_state</th></tr><tr id="row_10"><td class="val undefined" id="row_10_0">missing</td><td class="val skipped" id="row_10_1">passing</td></tr><tr id="row_11"><td class="val passed" id="row_11_0">passing</td><td class="val passed" id="row_11_1">passing</td></tr><tr id="row_12"><td class="val failed" id="row_12_0">failing</td><td class="val skipped" id="row_12_1">passing</td></tr><tr><td class="failed" colspan="2"><pre>FAIL (RuntimeError)
|
167
167
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
168
168
|
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
169
169
|
features/outline_sample.feature:6:in `Given <state> without a table'</pre></td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Only passing</span></h4><table><tr id="row_14"><th class="val skipped_param" id="row_14_0">state</th><th class="val skipped_param" id="row_14_1">other_state</th></tr><tr id="row_15"><td class="val passed" id="row_15_0">passing</td><td class="val passed" id="row_15_1">passing</td></tr></table></div></div></div><div class="feature"><pre class="comment"># Feature comment<br/></pre><span class="tag">@one</span><h2><span class="val">Feature: Sample</span></h2><p class="narrative"></p><div class="scenario"><span class="tag">@two</span> <span class="tag">@three</span><h3><span class="keyword">Scenario:</span> <span class="val">Missing</span></h3><ol><li class="step undefined" id="features_sample_feature_7"><div><span class="keyword">Given</span> <span class="step val">missing</span></div></li></ol></div><div class="scenario"><pre class="comment"># Scenario comment<br/></pre><span class="tag">@three</span><h3><span class="keyword">Scenario:</span> <span class="val">Passing</span></h3><ol><li class="step passed" id="features_sample_feature_12"><div><span class="keyword">Given</span> <span class="step val">passing</span></div><table><tr id="row_13"><td class="val" id="row_13_0">a</td><td class="val" id="row_13_1">b</td></tr><tr id="row_14"><td class="val" id="row_14_0">c</td><td class="val" id="row_14_1">d</td></tr></table></li></ol></div><div class="scenario"><span class="tag">@four</span><h3><span class="keyword">Scenario:</span> <span class="val">Failing</span></h3><ol><li class="step failed" id="features_sample_feature_18"><div><span class="keyword">Given</span> <span class="step val">failing</span></div><pre class="val">hello</pre><pre class="failed">FAIL (RuntimeError)
|
@@ -172,12 +172,12 @@ features/outline_sample.feature:6:in `Given <state> without a table'</pre></td><
|
|
172
172
|
features/sample.feature:18:in `Given failing'</pre></li></ol></div></div><div class="feature"><h2><span class="val">Feature: search examples</span></h2><p class="narrative"></p><div class="background"><h3><span class="keyword">Background:</span> <span class="val">Hantu Pisang background match</span></h3><ol><li class="step passed" id="features_search_sample_feature_4"><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">should match Hantu Pisang</span></h3><ol><li class="step passed" id="features_search_sample_feature_7"><div><span class="keyword">Given</span> <span class="step val">passing without a table</span></div></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Ignore me</span></h3><ol><li class="step failed" id="features_search_sample_feature_10"><div><span class="keyword">Given</span> <span class="step val">failing without a table</span></div><pre class="failed">FAIL (RuntimeError)
|
173
173
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
174
174
|
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
175
|
-
features/search_sample.feature:10:in `Given failing without a table'</pre></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Ignore me</span></h3><ol><li class="step skipped" id="features_search_sample_feature_13"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_15"><th class="val skipped_param" id="row_15_0">state</th></tr><tr id="row_16"><td class="val failed" id="row_16_0">failing</td></tr><tr><td
|
175
|
+
features/search_sample.feature:10:in `Given failing without a table'</pre></li></ol></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Ignore me</span></h3><ol><li class="step skipped" id="features_search_sample_feature_13"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_15"><th class="val skipped_param" id="row_15_0">state</th></tr><tr id="row_16"><td class="val failed" id="row_16_0">failing</td></tr><tr><td class="failed" colspan="1"><pre>FAIL (RuntimeError)
|
176
176
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
177
177
|
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
178
|
-
features/search_sample.feature:13:in `Given <state> without a table'</pre></td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Hantu Pisang match</span></h3><ol><li class="step skipped" id="features_search_sample_feature_19"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_21"><th class="val skipped_param" id="row_21_0">state</th></tr><tr id="row_22"><td class="val passed" id="row_22_0">passing</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">no match in name but in examples</span></h3><ol><li class="step skipped" id="features_search_sample_feature_25"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Hantu Pisang</span></h4><table><tr id="row_27"><th class="val skipped_param" id="row_27_0">state</th></tr><tr id="row_28"><td class="val passed" id="row_28_0">passing</td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ignore me</span></h4><table><tr id="row_31"><th class="val skipped_param" id="row_31_0">state</th></tr><tr id="row_32"><td class="val failed" id="row_32_0">failing</td></tr><tr><td
|
178
|
+
features/search_sample.feature:13:in `Given <state> without a table'</pre></td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">Hantu Pisang match</span></h3><ol><li class="step skipped" id="features_search_sample_feature_19"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_21"><th class="val skipped_param" id="row_21_0">state</th></tr><tr id="row_22"><td class="val passed" id="row_22_0">passing</td></tr></table></div></div><div class="scenario outline"><h3><span class="keyword">Scenario Outline:</span> <span class="val">no match in name but in examples</span></h3><ol><li class="step skipped" id="features_search_sample_feature_25"><div><span class="keyword">Given</span> <span class="step val"><state> without a table</span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Hantu Pisang</span></h4><table><tr id="row_27"><th class="val skipped_param" id="row_27_0">state</th></tr><tr id="row_28"><td class="val passed" id="row_28_0">passing</td></tr></table></div><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val">Ignore me</span></h4><table><tr id="row_31"><th class="val skipped_param" id="row_31_0">state</th></tr><tr id="row_32"><td class="val failed" id="row_32_0">failing</td></tr><tr><td class="failed" colspan="1"><pre>FAIL (RuntimeError)
|
179
179
|
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
180
180
|
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
181
|
-
features/search_sample.feature:25:in `Given <state> without a table'</pre></td></tr></table></div></div></div><div class="feature"><span class="tag">@lots</span><h2><span class="val">Feature: Tons of cukes</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Lots and lots</span></h3><ol><li class="step passed" id="features_tons_of_cukes_feature_4"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step failed" id="features_tons_of_cukes_feature_5"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><pre class="failed">We already have 2 cukes! (RuntimeError)
|
181
|
+
features/search_sample.feature:25:in `Given <state> without a table'</pre></td></tr></table></div></div></div><div class="feature"><span class="tag">@sample_one</span><h2><span class="val">Feature: Tag samples</span></h2><p class="narrative"></p><div class="scenario"><span class="tag">@sample_two</span> <span class="tag">@sample_four</span><h3><span class="keyword">Scenario:</span> <span class="val">Passing</span></h3><ol><li class="step undefined" id="features_tags_sample_feature_6"><div><span class="keyword">Given</span> <span class="step val">missing</span></div></li></ol></div><div class="scenario outline"><span class="tag">@sample_three</span><h3><span class="keyword">Scenario Outline:</span> <span class="val"></span></h3><ol><li class="step skipped" id="features_tags_sample_feature_10"><div><span class="keyword">Given</span> <span class="step val"><state></span></div></li></ol><div class="examples"><h4><span class="keyword">Examples:</span> <span class="val"></span></h4><table><tr id="row_12"><th class="val skipped_param" id="row_12_0">state</th></tr><tr id="row_13"><td class="val undefined" id="row_13_0">missing</td></tr></table></div></div><div class="scenario"><span class="tag">@sample_three</span> <span class="tag">@sample_four</span><h3><span class="keyword">Scenario:</span> <span class="val">Skipped</span></h3><ol><li class="step undefined" id="features_tags_sample_feature_17"><div><span class="keyword">Given</span> <span class="step val">missing</span></div></li></ol></div></div><div class="feature"><span class="tag">@lots</span><h2><span class="val">Feature: Tons of cukes</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">Lots and lots</span></h3><ol><li class="step passed" id="features_tons_of_cukes_feature_4"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step failed" id="features_tons_of_cukes_feature_5"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div><pre class="failed">We already have 2 cukes! (RuntimeError)
|
182
182
|
./features/step_definitions/sample_steps.rb:28:in `/^'(.+)' cukes$/'
|
183
183
|
features/tons_of_cukes.feature:5:in `Given '2' cukes'</pre></li><li class="step skipped" id="features_tons_of_cukes_feature_6"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_7"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_8"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_9"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_10"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_11"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_12"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_13"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_14"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_15"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_16"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_17"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_18"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_19"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_20"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_21"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_22"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_23"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_24"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_25"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_26"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_27"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_28"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_29"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_30"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_31"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_32"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_33"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_34"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_35"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_36"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_37"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_38"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_39"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_40"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_41"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_42"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_43"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_44"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_45"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_46"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_47"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_48"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_49"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_50"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_51"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li><li class="step skipped" id="features_tons_of_cukes_feature_52"><div><span class="keyword">Given</span> <span class="step val">'<span class="param">2</span>' cukes</span></div></li></ol></div></div><div class="feature"><h2><span class="val">Feature: undefined multiline args</span></h2><p class="narrative"></p><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">pystring</span></h3><ol><li class="step undefined" id="features_undefined_multiline_args_feature_4"><div><span class="keyword">Given</span> <span class="step val">a pystring</span></div><pre class="val"> example</pre></li></ol></div><div class="scenario"><h3><span class="keyword">Scenario:</span> <span class="val">table</span></h3><ol><li class="step undefined" id="features_undefined_multiline_args_feature_10"><div><span class="keyword">Given</span> <span class="step val">a table</span></div><table><tr id="row_11"><td class="val" id="row_11_0">table</td></tr><tr id="row_12"><td class="val" id="row_12_0">example</td></tr></table></li></ol></div></div><div class="duration">0m30.005s</div></div></body></html>
|
@@ -6,42 +6,49 @@ Feature: JUnit output formatter
|
|
6
6
|
Given I am in junit
|
7
7
|
And the tmp directory is empty
|
8
8
|
|
9
|
-
@mri186
|
9
|
+
@mri186
|
10
10
|
Scenario: one feature, one passing scenario, one failing scenario
|
11
11
|
When I run cucumber --format junit --out tmp/ features/one_passing_one_failing.feature
|
12
12
|
Then it should fail with
|
13
13
|
"""
|
14
14
|
|
15
15
|
"""
|
16
|
-
And "examples/junit/tmp/TEST-one_passing_one_failing.xml" should contain
|
16
|
+
And "examples/junit/tmp/TEST-one_passing_one_failing.xml" with junit duration "0.005" should contain
|
17
17
|
"""
|
18
18
|
<?xml version="1.0" encoding="UTF-8"?>
|
19
|
-
<testsuite errors="0"
|
20
|
-
<testcase
|
19
|
+
<testsuite errors="0" failures="1" name="One passing scenario, one failing scenario" tests="2" time="0.005">
|
20
|
+
<testcase classname="One passing scenario, one failing scenario.Passing" name="Passing" time="0.005">
|
21
21
|
</testcase>
|
22
|
-
<testcase
|
23
|
-
<failure message="
|
22
|
+
<testcase classname="One passing scenario, one failing scenario.Failing" name="Failing" time="0.005">
|
23
|
+
<failure message="failed Failing" type="failed">
|
24
|
+
Scenario: Failing
|
25
|
+
|
26
|
+
Given a failing scenario
|
27
|
+
|
28
|
+
Message:
|
24
29
|
(RuntimeError)
|
25
30
|
./features/step_definitions/steps.rb:6:in `/a failing scenario/'
|
26
31
|
features/one_passing_one_failing.feature:7:in `Given a failing scenario' </failure>
|
27
32
|
</testcase>
|
28
33
|
</testsuite>
|
29
|
-
|
34
|
+
|
30
35
|
"""
|
31
36
|
|
32
|
-
@mri186
|
37
|
+
@mri186
|
33
38
|
Scenario: pending step
|
34
39
|
When I run cucumber --format junit --out tmp/ features/pending.feature
|
35
40
|
Then it should pass with
|
36
41
|
"""
|
37
42
|
|
38
43
|
"""
|
39
|
-
And "examples/junit/tmp/TEST-pending.xml" should contain
|
44
|
+
And "examples/junit/tmp/TEST-pending.xml" with junit duration "0.009" should contain
|
40
45
|
"""
|
41
46
|
<?xml version="1.0" encoding="UTF-8"?>
|
42
|
-
<testsuite errors="0"
|
43
|
-
<testcase
|
44
|
-
<failure message="
|
47
|
+
<testsuite errors="0" failures="1" name="Pending step" tests="1" time="0.009">
|
48
|
+
<testcase classname="Pending step.Pending" name="Pending" time="0.009">
|
49
|
+
<failure message="pending Pending" type="pending">
|
50
|
+
Scenario: Pending
|
51
|
+
|
45
52
|
TODO (Cucumber::Pending)
|
46
53
|
./features/step_definitions/steps.rb:10:in `/a pending step/'
|
47
54
|
features/pending.feature:4:in `Given a pending step' </failure>
|