# The English language variant used here is Commonwealth English, specifically British English. # Rebellious provinces are encouraged to provide their own regional variations if they so wish. # God save the Queen, etc. etc. en: linters: avoid_full_stop: >- # https://en.wikipedia.org/wiki/Full_stop Avoid using a full-stop in steps so that it is easier to re-use them. avoid_outline_for_single_example: >- Avoid using Scenario Outlines when you only have a single example. Use a Scenario instead. avoid_scripting: >- You have %{count} When steps when you should only have one. Be careful not to add And steps following a When. avoid_splat_steps_in_background: >- The Background contains a splat step. It should only contain named steps. avoid_splat_steps_in_scenarios: >- The Scenario contains a splat step. It should only contain named steps. avoid_typographers_quotes: >- You are using typographers quotation marks (curly quotes). Make sure you intend to use this character and not a neutral quote (straight quote) instead. background_does_more_than_setup: >- The Background does more than setup. It should only contain Given steps. background_requires_multiple_scenarios: >- Avoid using Background if you only have a single scenario. bad_scenario_name: >- You should avoid using words like '%{word}' in your scenario names. empty_feature_file: >- The feature file is empty file_name_differs_feature_name: >- The name of the feature should reflect the file name. Consider renaming this feature to '%{expected}'. givens_after_background: >- Avoid using the 'Given' keyword in scenarios if you have a background. Instead, setup steps begin your scenario and should start with an 'And' or 'But' keyword. inconsistent_quoting: >- Avoid using inconsistent quoting for your parameters. You have %{count_single} single-quoted parameters (e.g. %{example_single}) and %{count_double} double-quoted parameters (e.g. %{example_double}). You should adopt a single style to avoid confusion about the meaning and purpose of the parameters. invalid_file_name: >- Filenames of feature files should be in snake case. You should name this file '%{recommended_name}'. invalid_step_flow: action_last: >- This scenario has the action as the last step of the scenario. A 'Then' assertion step should always follow a 'When' action step. given_order: >- You have a 'Given' setup step after a 'When' action step or a 'Then' assertion step. Setup steps should always be the first steps of a scenario. missing_action: >- This scenario is missing an action step -- it does not have a 'When'. missing_example_name: >- You have a scenerio with more than one example table, at least one of which is unnamed or has a duplicate name. You should give your example tables clear and meaningful names when you have more than one. missing_example_table: >- Scenario Outline must have at least one Examples table. missing_feature_description: >- Features should have a description / value statement so that the importance of the feature is well understood. missing_feature_name: >- This feature is unnamed. You should name all features. missing_scenario_name: >- This scenario is unnamed. You should name all scenarios. missing_scenario_outline: >- Scenario Outline should be used instead of Scenario when there is an Examples table. missing_test_action: >- Your test has no action step. All scenarios should have a 'When' step indicating the action being taken. missing_test_verification: >- Your test has no verification step. All scenarios should have a 'Then' step indicating the assertion being tested. required_tags_starts_with: >- You have tags which do not match the required format. Allowed prefixes are '%{allowed}'. scenario_names_match: >- You have a scenario name which does not match the required format. Allowed patterns are '%{pattern}'. same_tag_different_case: >- You have a tag which has already appeared as '@%{existing_tag}' which is a different case to '@%{tag}'. Cucumber tags are case-sensitive: use a consistent case for your tag names. same_tag_for_all_scenarios: feature_level: >- You are using the same tag (%{tag}) for all scenarios. Use this tag at the feature level instead. example_level: >- You are using the same tag (%{tag}) for all examples in this scenario. Use this tag at the scenario level instead. tag_used_multiple_times: >- Avoid repeating tags at the feature and scenario level. These tags were used in both: %{tags}. too_clumsy: >- This scenario is too clumsy at %{length} characters. Scenarios should be no more than 400 characters long. too_long_step: >- This step is too long at %{length} characters. It should be no longer than %{max} characters. too_many_different_tags: >- There are too many tags in this feature. There are %{count} and the maximum is %{max}. too_many_steps: >- There are too many steps in this feature. There are %{count} and the maximum is %{max}. too_many_tags: >- There are too many tags in this feature. There are %{count} and the maximum is %{max}. unique_scenario_names: >- The scenario name '%{name}' is duplicated, first used at line %{line}, column %{column}. unknown_variable: >- The variable '%{variable}' is referenced in your test but its value is never set. unused_variable: >- The variable '%{variable}' is declared but never used. use_background: >- The step '%{step}' is used in all the scenarios of this feature. It should be moved to the background steps. use_outline: >- Scenarios are similar by %{pct}%, you should use scenario outlines to simplify. %{lhs_name} (%{lhs_line}) vs %{rhs_name} (%{rhs_line})