Skip to main content

Give Behave the power of Cucumber Expressions

Project description

cuke4behave

What is this.

There is a popular bdd library in python, Behave. Cucumber Expressions are areplacement for regexs in Gherkin codebases. in large swaths of Behave implementations. Cucumber also has a good language server and vscode extension. To support both, this library allows you to inject a new step matcher into Behave, for use with more modern Gherkin paradigms.

Installation

Pip:

pip install cuke4behave

Poetry:

poetry install cuke4behave

Usage

from cuke4behave import build_step_matcher


from behave import given, then, when
from behave.matchers import matcher_mapping, use_step_matcher

from cucumber_expressions.parameter_type import ParameterType
from cucumber_expressions.parameter_type_registry import ParameterTypeRegistry

from cuke4behave.step_matcher import build_step_matcher
from features.steps.helpers import Color, full_add

# Build a ParameterType and ParameterTypeRegistry
color_ptr = ParameterType(
    "color",
    "red|blue|orange|purple|brown",
    Color,
    lambda s: Color(s),
    use_for_snippets="",
    prefer_for_regexp_match=False,
)
ptr = ParameterTypeRegistry()
# do this as many times as necessary
ptr.define_parameter_type(color_ptr)

# step matcher to pass to behave
step_matcher = build_step_matcher(ptr)

# THIS IS IMPORTANT. Patch in the step matcher to behave
matcher_mapping["cucumber_expressions"] = step_matcher

use_step_matcher("cucumber_expressions")

`

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cuke4behave-0.1.3.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cuke4behave-0.1.3-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file cuke4behave-0.1.3.tar.gz.

File metadata

  • Download URL: cuke4behave-0.1.3.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.7 Linux/5.19.11-arch1-1

File hashes

Hashes for cuke4behave-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d104a23fb4a85cacd2b5972dc5ee50ed95146aee732831b79b2f64e57ab71c7f
MD5 009f1f1ce7b34dae92472658e3ac88c1
BLAKE2b-256 b8d938e1f8d0f60a0ccdc63d05d2694db25c029d62254efe53c0f6c4375de90f

See more details on using hashes here.

File details

Details for the file cuke4behave-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: cuke4behave-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.7 Linux/5.19.11-arch1-1

File hashes

Hashes for cuke4behave-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bc68b313bbcee2fcabd0c993c27e07cb04389a9317e31dcf8fc6e028a64de963
MD5 bd1bd7a57032daf825ff7143c342b93f
BLAKE2b-256 4bc4c71f7f6b302220339ca44ceeb80f6e7d7b84735cae5187365936413e56fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page