Skip to content

dantleech/gherkin-lint-php

Repository files navigation

Gherkin Lint for PHP

This package provides a Gherkin linter for PHP heavily inspired by vsiakka/gherkin-lint and using the PHP Gherkin Parser.

Contents

Usage

NOTE: Gherkin Lint requires PHP 8.1

Install with Composer:

$ composer require --dev dantleech/gherkin-lint

Lint your feature files:

$ ./vendor/bin/gherkinlint lint features/

image

To see the available and enabled rules run:

$ ./vendor/bin/gherkinlint rules

image

Configuration

By default all rules are enabled. In order to customise or disable them create a config file gherkinlint.json:

{
    "rules": {
        "allowed-tags": {
            "allow": ["@my-special-tag", "@my-other-tag"]
        },
        "filename": {
            "enabled": false
        }
    }
}

Use the rules command to see which rules are enabled.

Disabling Rules

Rules can be disabled by adding a comment before the Feature declaration:

# @gherkinlint-disable-rule keyword-order
Feature: My feature with strange keyword orders

Disable multiple rules with comma separation:

# @gherkinlint-disable-rule keyword-order, someother-rule
Feature: My feature with strange keyword orders

Contributing

Make a pull request!