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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d104a23fb4a85cacd2b5972dc5ee50ed95146aee732831b79b2f64e57ab71c7f
|
|
| MD5 |
009f1f1ce7b34dae92472658e3ac88c1
|
|
| BLAKE2b-256 |
b8d938e1f8d0f60a0ccdc63d05d2694db25c029d62254efe53c0f6c4375de90f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc68b313bbcee2fcabd0c993c27e07cb04389a9317e31dcf8fc6e028a64de963
|
|
| MD5 |
bd1bd7a57032daf825ff7143c342b93f
|
|
| BLAKE2b-256 |
4bc4c71f7f6b302220339ca44ceeb80f6e7d7b84735cae5187365936413e56fc
|