guard-cucumber 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +67 -45
- data/lib/guard/cucumber.rb +6 -0
- data/lib/guard/cucumber.rbc +58 -38
- data/lib/guard/cucumber/notification_formatter.rb +1 -0
- data/lib/guard/cucumber/version.rb +1 -1
- data/lib/guard/cucumber/version.rbc +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -6,21 +6,29 @@ Guard::Cucumber allows you to automatically run Cucumber features when files are
|
|
6
6
|
|
7
7
|
Tested on MRI Ruby 1.8.6, 1.8.7, 1.9.2 and the latest versions of JRuby & Rubinius.
|
8
8
|
|
9
|
+
If you have any questions please join us on our [Google group](http://groups.google.com/group/guard-dev) or on `#guard` (irc.freenode.net).
|
10
|
+
|
9
11
|
## Install
|
10
12
|
|
11
13
|
Please be sure to have [Guard](https://github.com/guard/guard) installed before continue.
|
12
14
|
|
13
15
|
Install the gem:
|
14
16
|
|
15
|
-
|
17
|
+
```bash
|
18
|
+
$ gem install guard-cucumber
|
19
|
+
```
|
16
20
|
|
17
21
|
Add it to your `Gemfile`, preferably inside the test group:
|
18
22
|
|
19
|
-
|
23
|
+
```ruby
|
24
|
+
gem 'guard-cucumber'
|
25
|
+
```
|
20
26
|
|
21
27
|
Add the default Guard::Cucumber template to your `Guardfile` by running this command:
|
22
28
|
|
23
|
-
|
29
|
+
```bash
|
30
|
+
$ guard init cucumber
|
31
|
+
```
|
24
32
|
|
25
33
|
## Usage
|
26
34
|
|
@@ -30,11 +38,13 @@ Please read the [Guard usage documentation](https://github.com/guard/guard#readm
|
|
30
38
|
|
31
39
|
Guard::Cucumber can be adapted to all kind of projects and comes with a default template that looks like this:
|
32
40
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
41
|
+
```ruby
|
42
|
+
guard 'cucumber' do
|
43
|
+
watch(%r{^features/.+\.feature$})
|
44
|
+
watch(%r{^features/support/.+$}) { 'features' }
|
45
|
+
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
|
46
|
+
end
|
47
|
+
```
|
38
48
|
|
39
49
|
Expressed in plain English, this configuration tells Guard::Cucumber:
|
40
50
|
|
@@ -50,38 +60,41 @@ Please read the [Guard documentation](http://github.com/guard/guard#readme) for
|
|
50
60
|
|
51
61
|
You can pass any of the standard Cucumber CLI options using the :cli option:
|
52
62
|
|
53
|
-
|
54
|
-
|
55
|
-
|
63
|
+
```ruby
|
64
|
+
guard 'cucumber', :cli => '-c --drb --port 1234 --profile guard' do
|
65
|
+
end
|
66
|
+
```
|
56
67
|
|
57
68
|
Former `:color`, `:drb`, `:port` and `:profile` options are thus deprecated and have no effect anymore.
|
58
69
|
|
59
70
|
### List of available options
|
60
71
|
|
61
|
-
|
62
|
-
|
72
|
+
```ruby
|
73
|
+
:cli => '--profile guard -c' # Pass arbitrary Cucumber CLI arguments,
|
74
|
+
# default: '--no-profile --color --format progress --strict'
|
63
75
|
|
64
|
-
|
65
|
-
|
76
|
+
:bundler => false # Don't use "bundle exec" to run the Cucumber command
|
77
|
+
# default: true
|
66
78
|
|
67
|
-
|
68
|
-
|
79
|
+
:rvm => ['1.8.7', '1.9.2'] # Directly run your features on multiple ruby versions
|
80
|
+
# default: nil
|
69
81
|
|
70
|
-
|
71
|
-
|
82
|
+
:notification => false # Don't display Growl (or Libnotify) notification
|
83
|
+
# default: true
|
72
84
|
|
73
|
-
|
74
|
-
|
85
|
+
:all_after_pass => false # Don't run all features after changed features pass
|
86
|
+
# default: true
|
75
87
|
|
76
|
-
|
77
|
-
|
88
|
+
:all_on_start => false # Don't run all the features at startup
|
89
|
+
# default: true
|
78
90
|
|
79
|
-
|
80
|
-
|
91
|
+
:keep_failed => false # Keep failed features until them pass
|
92
|
+
# default: true
|
81
93
|
|
82
|
-
|
83
|
-
|
84
|
-
|
94
|
+
:change_format => 'pretty' # Use a different cucumber format when running individual features
|
95
|
+
# This replaces the Cucumber --format option within the :cli option
|
96
|
+
# default: nil
|
97
|
+
```
|
85
98
|
|
86
99
|
## Cucumber configuration
|
87
100
|
|
@@ -101,7 +114,9 @@ If you want to configure Cucumber from Guard solely, then you should pass `--no-
|
|
101
114
|
|
102
115
|
Since guard-cucumber version 0.3.2, the default `:cli` options are:
|
103
116
|
|
104
|
-
|
117
|
+
```ruby
|
118
|
+
:cli => '--no-profile --color --format progress --strict'
|
119
|
+
```
|
105
120
|
|
106
121
|
This default configuration has been chosen to avoid strange behavior when mixing configurations form
|
107
122
|
the cucumber.yml default profile with the guard-cucumber `:cli` option.
|
@@ -113,42 +128,49 @@ You can safely remove `config/cucumber.yml`, since all configuration is done in
|
|
113
128
|
If you're using different profiles with Cucumber then you should create a profile for Guard in cucumber.yml,
|
114
129
|
something like this:
|
115
130
|
|
116
|
-
|
131
|
+
```
|
132
|
+
guard: --format progress --strict --tags ~@wip
|
133
|
+
```
|
117
134
|
|
118
|
-
Now you want to make guard-cucumber use that profile by passing '--profile guard
|
135
|
+
Now you want to make guard-cucumber use that profile by passing '--profile guard' to the `:cli`.
|
119
136
|
|
120
137
|
## Cucumber with Spork
|
121
138
|
|
122
139
|
To use Guard::Cucumber with [Spork](https://github.com/timcharper/spork), you should install
|
123
140
|
[Guard::Spork](https://github.com/guard/guard-spork)) and use the following configuration:
|
124
141
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
142
|
+
```ruby
|
143
|
+
guard 'spork' do
|
144
|
+
watch('config/application.rb')
|
145
|
+
watch('config/environment.rb')
|
146
|
+
watch(%r{^config/environments/.*\.rb$})
|
147
|
+
watch(%r{^config/initializers/.*\.rb$})
|
148
|
+
watch('spec/spec_helper.rb')
|
149
|
+
end
|
150
|
+
|
151
|
+
guard 'cucumber', :cli => '--drb --format progress --no-profile' do
|
152
|
+
watch(%r{^features/.+\.feature$})
|
153
|
+
watch(%r{^features/support/.+$}) { 'features' }
|
154
|
+
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
|
155
|
+
end
|
156
|
+
```
|
138
157
|
|
139
158
|
## Development
|
140
159
|
|
141
160
|
- Source hosted at [GitHub](https://github.com/netzpirat/guard-cucumber)
|
142
|
-
- Report issues
|
161
|
+
- Report issues and feature requests to [GitHub Issues](https://github.com/netzpirat/guard-cucumber/issues)
|
143
162
|
|
144
163
|
Pull requests are very welcome! Make sure your patches are well tested.
|
145
164
|
|
165
|
+
For questions please join us on our [Google group](http://groups.google.com/group/guard-dev) or on `#guard` (irc.freenode.net).
|
166
|
+
|
146
167
|
## Contributors
|
147
168
|
|
148
169
|
* [Aleksei Gusev](https://github.com/hron)
|
149
170
|
* [Loren Norman](https://github.com/lorennorman)
|
150
171
|
* [Nicholas A Clark](https://github.com/NickClark)
|
151
172
|
* [Oriol Gual](https://github.com/oriolgual)
|
173
|
+
* [Robert Sanders](https://github.com/robertzx)
|
152
174
|
|
153
175
|
Since guard-cucumber is very close to guard-rspec, some contributions by the following authors have been
|
154
176
|
incorporated into guard-cucumber:
|
data/lib/guard/cucumber.rb
CHANGED
@@ -30,10 +30,14 @@ module Guard
|
|
30
30
|
|
31
31
|
@failed_paths = [] if passed
|
32
32
|
@last_failed = !passed
|
33
|
+
|
34
|
+
passed
|
33
35
|
end
|
34
36
|
|
35
37
|
def reload
|
36
38
|
@failed_paths = []
|
39
|
+
|
40
|
+
true
|
37
41
|
end
|
38
42
|
|
39
43
|
def run_on_change(paths)
|
@@ -53,6 +57,8 @@ module Guard
|
|
53
57
|
# track whether the changed feature failed for the next change
|
54
58
|
@last_failed = true
|
55
59
|
end
|
60
|
+
|
61
|
+
passed
|
56
62
|
end
|
57
63
|
|
58
64
|
private
|
data/lib/guard/cucumber.rbc
CHANGED
@@ -614,7 +614,7 @@ x
|
|
614
614
|
7
|
615
615
|
run_all
|
616
616
|
i
|
617
|
-
|
617
|
+
63
|
618
618
|
45
|
619
619
|
0
|
620
620
|
1
|
@@ -674,6 +674,9 @@ i
|
|
674
674
|
3
|
675
675
|
38
|
676
676
|
12
|
677
|
+
15
|
678
|
+
20
|
679
|
+
0
|
677
680
|
11
|
678
681
|
I
|
679
682
|
8
|
@@ -724,7 +727,7 @@ x
|
|
724
727
|
12
|
725
728
|
@last_failed
|
726
729
|
p
|
727
|
-
|
730
|
+
11
|
728
731
|
I
|
729
732
|
-1
|
730
733
|
I
|
@@ -743,6 +746,10 @@ I
|
|
743
746
|
20
|
744
747
|
I
|
745
748
|
3c
|
749
|
+
I
|
750
|
+
22
|
751
|
+
I
|
752
|
+
3f
|
746
753
|
x
|
747
754
|
62
|
748
755
|
/Users/michi/Repositories/guard-cucumber/lib/guard/cucumber.rb
|
@@ -762,11 +769,13 @@ x
|
|
762
769
|
6
|
763
770
|
reload
|
764
771
|
i
|
765
|
-
|
772
|
+
7
|
766
773
|
35
|
767
774
|
0
|
768
775
|
38
|
769
776
|
0
|
777
|
+
15
|
778
|
+
2
|
770
779
|
11
|
771
780
|
I
|
772
781
|
1
|
@@ -783,17 +792,21 @@ x
|
|
783
792
|
13
|
784
793
|
@failed_paths
|
785
794
|
p
|
786
|
-
|
795
|
+
7
|
787
796
|
I
|
788
797
|
-1
|
789
798
|
I
|
790
|
-
|
799
|
+
25
|
791
800
|
I
|
792
801
|
0
|
793
802
|
I
|
794
|
-
|
803
|
+
26
|
795
804
|
I
|
796
805
|
5
|
806
|
+
I
|
807
|
+
28
|
808
|
+
I
|
809
|
+
7
|
797
810
|
x
|
798
811
|
62
|
799
812
|
/Users/michi/Repositories/guard-cucumber/lib/guard/cucumber.rb
|
@@ -810,7 +823,7 @@ x
|
|
810
823
|
13
|
811
824
|
run_on_change
|
812
825
|
i
|
813
|
-
|
826
|
+
184
|
814
827
|
39
|
815
828
|
0
|
816
829
|
7
|
@@ -991,6 +1004,9 @@ i
|
|
991
1004
|
2
|
992
1005
|
38
|
993
1006
|
21
|
1007
|
+
15
|
1008
|
+
20
|
1009
|
+
2
|
994
1010
|
11
|
995
1011
|
I
|
996
1012
|
a
|
@@ -1075,49 +1091,53 @@ x
|
|
1075
1091
|
20
|
1076
1092
|
read_failed_features
|
1077
1093
|
p
|
1078
|
-
|
1094
|
+
23
|
1079
1095
|
I
|
1080
1096
|
-1
|
1081
1097
|
I
|
1082
|
-
|
1098
|
+
2b
|
1083
1099
|
I
|
1084
1100
|
0
|
1085
1101
|
I
|
1086
|
-
|
1102
|
+
2c
|
1087
1103
|
I
|
1088
1104
|
15
|
1089
1105
|
I
|
1090
|
-
|
1106
|
+
2d
|
1091
1107
|
I
|
1092
1108
|
20
|
1093
1109
|
I
|
1094
|
-
|
1110
|
+
2e
|
1095
1111
|
I
|
1096
1112
|
3c
|
1097
1113
|
I
|
1098
|
-
|
1114
|
+
2f
|
1099
1115
|
I
|
1100
1116
|
6b
|
1101
1117
|
I
|
1102
|
-
|
1118
|
+
31
|
1103
1119
|
I
|
1104
1120
|
6f
|
1105
1121
|
I
|
1106
|
-
|
1122
|
+
33
|
1107
1123
|
I
|
1108
1124
|
84
|
1109
1125
|
I
|
1110
|
-
|
1126
|
+
35
|
1111
1127
|
I
|
1112
1128
|
9b
|
1113
1129
|
I
|
1114
|
-
|
1130
|
+
38
|
1115
1131
|
I
|
1116
1132
|
b1
|
1117
1133
|
I
|
1118
|
-
|
1134
|
+
3a
|
1119
1135
|
I
|
1120
1136
|
b5
|
1137
|
+
I
|
1138
|
+
3d
|
1139
|
+
I
|
1140
|
+
b8
|
1121
1141
|
x
|
1122
1142
|
62
|
1123
1143
|
/Users/michi/Repositories/guard-cucumber/lib/guard/cucumber.rb
|
@@ -1243,31 +1263,31 @@ p
|
|
1243
1263
|
I
|
1244
1264
|
-1
|
1245
1265
|
I
|
1246
|
-
|
1266
|
+
42
|
1247
1267
|
I
|
1248
1268
|
0
|
1249
1269
|
I
|
1250
|
-
|
1270
|
+
43
|
1251
1271
|
I
|
1252
1272
|
5
|
1253
1273
|
I
|
1254
|
-
|
1274
|
+
45
|
1255
1275
|
I
|
1256
1276
|
10
|
1257
1277
|
I
|
1258
|
-
|
1278
|
+
46
|
1259
1279
|
I
|
1260
1280
|
25
|
1261
1281
|
I
|
1262
|
-
|
1282
|
+
47
|
1263
1283
|
I
|
1264
1284
|
30
|
1265
1285
|
I
|
1266
|
-
|
1286
|
+
45
|
1267
1287
|
I
|
1268
1288
|
32
|
1269
1289
|
I
|
1270
|
-
|
1290
|
+
4a
|
1271
1291
|
I
|
1272
1292
|
35
|
1273
1293
|
x
|
@@ -1483,19 +1503,19 @@ p
|
|
1483
1503
|
I
|
1484
1504
|
0
|
1485
1505
|
I
|
1486
|
-
|
1506
|
+
4f
|
1487
1507
|
I
|
1488
1508
|
a
|
1489
1509
|
I
|
1490
|
-
|
1510
|
+
50
|
1491
1511
|
I
|
1492
1512
|
2d
|
1493
1513
|
I
|
1494
|
-
|
1514
|
+
51
|
1495
1515
|
I
|
1496
1516
|
41
|
1497
1517
|
I
|
1498
|
-
|
1518
|
+
50
|
1499
1519
|
I
|
1500
1520
|
43
|
1501
1521
|
x
|
@@ -1532,19 +1552,19 @@ p
|
|
1532
1552
|
I
|
1533
1553
|
-1
|
1534
1554
|
I
|
1535
|
-
|
1555
|
+
4d
|
1536
1556
|
I
|
1537
1557
|
0
|
1538
1558
|
I
|
1539
|
-
|
1559
|
+
4e
|
1540
1560
|
I
|
1541
1561
|
10
|
1542
1562
|
I
|
1543
|
-
|
1563
|
+
4f
|
1544
1564
|
I
|
1545
1565
|
18
|
1546
1566
|
I
|
1547
|
-
|
1567
|
+
54
|
1548
1568
|
I
|
1549
1569
|
34
|
1550
1570
|
x
|
@@ -1583,23 +1603,23 @@ I
|
|
1583
1603
|
I
|
1584
1604
|
42
|
1585
1605
|
I
|
1586
|
-
|
1606
|
+
25
|
1587
1607
|
I
|
1588
1608
|
50
|
1589
1609
|
I
|
1590
|
-
|
1610
|
+
2b
|
1591
1611
|
I
|
1592
1612
|
5e
|
1593
1613
|
I
|
1594
|
-
|
1614
|
+
40
|
1595
1615
|
I
|
1596
1616
|
62
|
1597
1617
|
I
|
1598
|
-
|
1618
|
+
42
|
1599
1619
|
I
|
1600
1620
|
70
|
1601
1621
|
I
|
1602
|
-
|
1622
|
+
4d
|
1603
1623
|
I
|
1604
1624
|
7e
|
1605
1625
|
x
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: guard-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.5.
|
5
|
+
version: 0.5.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Michael Kessler
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-06-
|
13
|
+
date: 2011-06-29 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|