aslakhellesoy-cucumber 0.3.93.1 → 0.3.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|