chutney 2.0.2 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/chutney.gemspec +2 -2
- data/docs/index.md +2 -2
- data/docs/installation.md +2 -2
- data/docs/usage/configuration.md +2 -2
- data/docs/usage/rules.md +30 -30
- data/lib/chutney/version.rb +1 -1
- metadata +13 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77747e8f00fa87d5f74dc5ecaf4e13863409165badd8008f331dbabd8e110950
|
4
|
+
data.tar.gz: 82e91f1890b82706c58df10dd0a8e874d6e06d1e53a856d213f4efc46372c36c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c9c5e518850ec64e4caaab3c502145dd703bcab606121e3b912bf339b11bbd500da696e5dc23dbbabeda0e93066e02897008621472cbfa7ae3a20b3f20b8262
|
7
|
+
data.tar.gz: 959ff63b8b0100dcf5e90d2d7dd96d4774c605617edaa17ef687376d2236644b858de3240add2eda4c98b285ea4c19aee98e51e20c4081acd3dc769f002433b1
|
data/chutney.gemspec
CHANGED
@@ -43,7 +43,7 @@ Gem::Specification.new do |spec|
|
|
43
43
|
spec.require_paths = ['lib']
|
44
44
|
|
45
45
|
spec.add_runtime_dependency 'amatch', '~> 0.4.0'
|
46
|
-
spec.add_runtime_dependency 'gherkin', '
|
46
|
+
spec.add_runtime_dependency 'gherkin', '>= 5.1', '< 9.1'
|
47
47
|
spec.add_runtime_dependency 'i18n', '~> 1.8.2'
|
48
48
|
spec.add_runtime_dependency 'pastel', '~> 0.7'
|
49
49
|
spec.add_runtime_dependency 'tty-pie', '~> 0.3'
|
@@ -54,7 +54,7 @@ Gem::Specification.new do |spec|
|
|
54
54
|
spec.add_development_dependency 'rake', '~> 13.0'
|
55
55
|
spec.add_development_dependency 'rerun', '~> 0.13'
|
56
56
|
spec.add_development_dependency 'rspec-expectations', '~> 3.0'
|
57
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
57
|
+
spec.add_development_dependency 'rubocop', '~> 0.82.0'
|
58
58
|
spec.add_development_dependency 'rspec', '~> 3.8'
|
59
59
|
|
60
60
|
end
|
data/docs/index.md
CHANGED
@@ -5,7 +5,7 @@ nav_order: 1
|
|
5
5
|
permalink: /
|
6
6
|
---
|
7
7
|
|
8
|
-
# Best practice for
|
8
|
+
# Best practice for Cucumber
|
9
9
|
{: .fs-9 }
|
10
10
|
|
11
11
|
|
@@ -18,4 +18,4 @@ You're trying to follow TDD or ATDD principles, you're writing executable specif
|
|
18
18
|
|
19
19
|
Cucumber itself is an awesome tool which bridges with gap between business language, software development language and the language of testers. With all these folks interested, it's easy to write problematic and hard to maintain features. Chutney tries to help with that by having a common set of quality rules for your feature files.
|
20
20
|
|
21
|
-
Chutney is able to lint feature files in any spoken language supported by Cucumber 3.
|
21
|
+
Chutney is able to lint feature files in any spoken language supported by Cucumber 3.
|
data/docs/installation.md
CHANGED
@@ -9,7 +9,7 @@ nav_order: 2
|
|
9
9
|
Add this line to your application's Gemfile:
|
10
10
|
|
11
11
|
```ruby
|
12
|
-
gem '
|
12
|
+
gem 'chutney', require: false
|
13
13
|
```
|
14
14
|
|
15
15
|
And then execute:
|
@@ -18,4 +18,4 @@ And then execute:
|
|
18
18
|
|
19
19
|
Or install it yourself as:
|
20
20
|
|
21
|
-
$ gem install chutney
|
21
|
+
$ gem install chutney
|
data/docs/usage/configuration.md
CHANGED
@@ -7,6 +7,6 @@ nav_order: 3
|
|
7
7
|
|
8
8
|
# Configuration
|
9
9
|
|
10
|
-
Chutney looks for a configuration file in the current directory called `config
|
10
|
+
Chutney looks for a configuration file in the current directory called `config/.chutney.yml`. This configuration mostly switches on individual linters globally, but a few have addition parameters which can be configured (e.g. the maximum characters in a step).
|
11
11
|
|
12
|
-
A default configuration can be found [here](https://github.com/BillyRuffian/chutney/blob/master/config/
|
12
|
+
A default configuration can be found [here](https://github.com/BillyRuffian/chutney/blob/master/config/chutney.yml).
|
data/docs/usage/rules.md
CHANGED
@@ -9,92 +9,92 @@ nav_order: 2
|
|
9
9
|
|
10
10
|
Chutney enforces its rules with the linters. These are:
|
11
11
|
|
12
|
-
AvoidFullStop
|
12
|
+
[AvoidFullStop](https://github.com/BillyRuffian/chutney/blob/master/features/avoid_full_stop.feature)
|
13
13
|
: Don't have a full stop (period) at the end of step because it makes step reuse really hard.
|
14
14
|
|
15
|
-
AvoidOutlineForSingleExample
|
15
|
+
[AvoidOutlineForSingleExample](https://github.com/BillyRuffian/chutney/blob/master/features/avoid_outline_for_single_example.feature)
|
16
16
|
: If you only have a single example in your example table, use a plain-old scenario instead.
|
17
17
|
|
18
|
-
AvoidScripting
|
18
|
+
[AvoidScripting](https://github.com/BillyRuffian/chutney/blob/master/features/avoid_scripting.feature)
|
19
19
|
: You have a lot of steps, are you sure you're not scripting the scenario when you should be specifying the behaviour of the system?
|
20
20
|
|
21
|
-
BackgroundDoesMoreThanSetup
|
21
|
+
[BackgroundDoesMoreThanSetup](https://github.com/BillyRuffian/chutney/blob/master/features/background_does_more_than_setup.feature)
|
22
22
|
: Background in feature files should only do setup activity and so they should only contain `Given` steps.
|
23
23
|
|
24
|
-
BackgroundRequiresMultipleScenarios
|
24
|
+
[BackgroundRequiresMultipleScenarios](https://github.com/BillyRuffian/chutney/blob/master/features/background_requires_multiple_scenarios.feature)
|
25
25
|
: If you only have one scenario, don't bother having a Background section.
|
26
26
|
|
27
|
-
BadScenarioName
|
27
|
+
[BadScenarioName](https://github.com/BillyRuffian/chutney/blob/master/features/bad_scenario_name.feature)
|
28
28
|
: You should avoid using words like 'test' or 'check' in your scenario names, instead you should define the behaviour of your system.
|
29
29
|
|
30
|
-
FileNameDiffersFeatureName
|
30
|
+
[FileNameDiffersFeatureName](https://github.com/BillyRuffian/chutney/blob/master/features/file_name_differs_feature_name.feature)
|
31
31
|
: The feature should have a name that follows the file name.
|
32
32
|
|
33
|
-
GivensAfterBackground
|
33
|
+
[GivensAfterBackground](https://github.com/BillyRuffian/chutney/blob/master/features/givens_after_background.feature)
|
34
34
|
: If you have a Background section and your scenario needs more preconditions then it should start immediately with an `And` step and not another `Given`.
|
35
35
|
|
36
|
-
InvalidFileName
|
36
|
+
[InvalidFileName](https://github.com/BillyRuffian/chutney/blob/master/features/invalid_file_name.feature)
|
37
37
|
: Make sure your file name is in snake case, not mixed case or with spaces.
|
38
38
|
|
39
|
-
InvalidStepFlow
|
39
|
+
[InvalidStepFlow](https://github.com/BillyRuffian/chutney/blob/master/features/invalid_step_flow.feature)
|
40
40
|
: Your scenarios should follow Given → When → Then, in that order.
|
41
41
|
|
42
|
-
MissingExampleName
|
42
|
+
[MissingExampleName](https://github.com/BillyRuffian/chutney/blob/master/features/missing_example_name.feature)
|
43
43
|
: If you have more than one example table in your scenario, they should each be given unique names.
|
44
44
|
|
45
|
-
MissingFeatureDescription
|
45
|
+
[MissingFeatureDescription](https://github.com/BillyRuffian/chutney/blob/master/features/missing_feature_description.feature)
|
46
46
|
: Your feature should have a value statement. These are usually in the form 'As a... I want.. So that...'.
|
47
47
|
|
48
|
-
MissingFeatureName
|
48
|
+
[MissingFeatureName](https://github.com/BillyRuffian/chutney/blob/master/features/missing_feature_name.feature)
|
49
49
|
: You should give your features a descriptive name.
|
50
50
|
|
51
|
-
MissingScenarioName
|
51
|
+
[MissingScenarioName](https://github.com/BillyRuffian/chutney/blob/master/features/missing_scenario_name.feature)
|
52
52
|
: You should name your scenarios and scenario outlines.
|
53
53
|
|
54
|
-
MissingTestAction
|
54
|
+
[MissingTestAction](https://github.com/BillyRuffian/chutney/blob/master/features/missing_test_action.feature)
|
55
55
|
: You don't have an action (a `When` step) in your scenario.
|
56
56
|
|
57
|
-
MissingVerification
|
57
|
+
[MissingVerification](https://github.com/BillyRuffian/chutney/blob/master/features/missing_verification.feature)
|
58
58
|
: You don't have a verification step (a `Then` step) in your scenario.
|
59
59
|
|
60
|
-
RequiredTagsStartWith
|
60
|
+
[RequiredTagsStartWith](https://github.com/BillyRuffian/chutney/blob/master/features/required_tags_starts_with.feature)
|
61
61
|
: Chutney can enforce a configurable naming prefix for your tags.
|
62
62
|
|
63
|
-
SameTagForAllScenarios
|
63
|
+
[SameTagForAllScenarios](https://github.com/BillyRuffian/chutney/blob/master/features/same_tag_for_all_scenarios.feature)
|
64
64
|
: You have the same tag for all you scenarios; move the tag to the feature level instead.
|
65
65
|
|
66
|
-
ScenarioNamesMatch
|
66
|
+
[ScenarioNamesMatch](https://github.com/BillyRuffian/chutney/blob/master/features/scenario_names_match.feature)
|
67
67
|
: Chutney can enforce a naming convention for your scenario names.
|
68
68
|
|
69
|
-
TagUsedMultipleTimes
|
69
|
+
[TagUsedMultipleTimes](https://github.com/BillyRuffian/chutney/blob/master/features/tag_used_multiple_times.feature)
|
70
70
|
: Chutney can warn if you have used a tag a lot with a feature.
|
71
71
|
|
72
|
-
TooClumsy
|
72
|
+
[TooClumsy](https://github.com/BillyRuffian/chutney/blob/master/features/too_clumsy.feature)
|
73
73
|
: This is a very long scenario. Consider writing it more concisely.
|
74
74
|
|
75
|
-
TooLongStep
|
75
|
+
[TooLongStep](https://github.com/BillyRuffian/chutney/blob/master/features/too_long_step.feature)
|
76
76
|
: This is a very long step. Consider writing it more concisely.
|
77
77
|
|
78
|
-
TooManyDifferentTags
|
78
|
+
[TooManyDifferentTags](https://github.com/BillyRuffian/chutney/blob/master/features/too_many_different_tags.feature)
|
79
79
|
: This feature has a lot of differnt tags.
|
80
80
|
|
81
|
-
TooManySteps
|
81
|
+
[TooManySteps](https://github.com/BillyRuffian/chutney/blob/master/features/too_many_steps.feature)
|
82
82
|
: This feature has a lot of steps. Consider writing it more concisely.
|
83
83
|
|
84
|
-
TooManyTags
|
84
|
+
[TooManyTags](https://github.com/BillyRuffian/chutney/blob/master/features/too_many_tags.feature)
|
85
85
|
: There are a lot of tags in this feature.
|
86
86
|
|
87
|
-
UniqueScenarioNames
|
87
|
+
[UniqueScenarioNames](https://github.com/BillyRuffian/chutney/blob/master/features/unique_scenario_names.feature)
|
88
88
|
: You have duplicated a scenario name when they should be unique.
|
89
89
|
|
90
|
-
UnknownVariable
|
90
|
+
[UnknownVariable](https://github.com/BillyRuffian/chutney/blob/master/features/unknown_variable.feature)
|
91
91
|
: You are referencing a variable which doesn't appear to be defined. This is a source of subtle errors.
|
92
92
|
|
93
|
-
UnusedVariable
|
93
|
+
[UnusedVariable](https://github.com/BillyRuffian/chutney/blob/master/features/unused_variable.feature)
|
94
94
|
: You have a variable which you are not using.
|
95
95
|
|
96
|
-
UseBackground
|
96
|
+
[UseBackground](https://github.com/BillyRuffian/chutney/blob/master/features/use_background.feature)
|
97
97
|
: You have a setup setup used in all of your scenarios. Move it to a Background section.
|
98
98
|
|
99
|
-
UseOutline
|
99
|
+
[UseOutline](https://github.com/BillyRuffian/chutney/blob/master/features/use_outline.feature)
|
100
100
|
: You have very similar scenarios. You should consider if they should be combined into a Scenario Outline.
|
data/lib/chutney/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chutney
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nigel Brookes-Thomas
|
@@ -31,16 +31,22 @@ dependencies:
|
|
31
31
|
name: gherkin
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- - "
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '5.1'
|
37
|
+
- - "<"
|
35
38
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
39
|
+
version: '9.1'
|
37
40
|
type: :runtime
|
38
41
|
prerelease: false
|
39
42
|
version_requirements: !ruby/object:Gem::Requirement
|
40
43
|
requirements:
|
41
|
-
- - "
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '5.1'
|
47
|
+
- - "<"
|
42
48
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
49
|
+
version: '9.1'
|
44
50
|
- !ruby/object:Gem::Dependency
|
45
51
|
name: i18n
|
46
52
|
requirement: !ruby/object:Gem::Requirement
|
@@ -159,14 +165,14 @@ dependencies:
|
|
159
165
|
requirements:
|
160
166
|
- - "~>"
|
161
167
|
- !ruby/object:Gem::Version
|
162
|
-
version: 0.
|
168
|
+
version: 0.82.0
|
163
169
|
type: :development
|
164
170
|
prerelease: false
|
165
171
|
version_requirements: !ruby/object:Gem::Requirement
|
166
172
|
requirements:
|
167
173
|
- - "~>"
|
168
174
|
- !ruby/object:Gem::Version
|
169
|
-
version: 0.
|
175
|
+
version: 0.82.0
|
170
176
|
- !ruby/object:Gem::Dependency
|
171
177
|
name: rspec
|
172
178
|
requirement: !ruby/object:Gem::Requirement
|