Skip to main content

Baby Steps

PyPI PyPI - Downloads Python Version

BDD steps for test markup. Just for readability.

Installation

pip3 install baby-steps

Usage

import httpx
from baby_steps import given, when, then

def test_status_code():
    with given:
        code = 200

    with when:
        resp = httpx.get(f"https://httpbin.org/status/{code}")

    with then:
        assert resp.status_code == code

Named Steps

import httpx
from baby_steps import given, when, then

def test_status_code():
    with given("status code"):
        code = 200

    with when("user requests a resource"):
        resp = httpx.get(f"https://httpbin.org/status/{code}")

    with then("it should return expected status code"):
        assert resp.status_code == code

Hooks

from baby_steps import given, then, when
from baby_steps.hooks import add_hook

def test():
    with given("status code"):
        pass

    with when("user requests a resource"):
        pass

    with then("it should return expected status code"):
        pass


def hook(step, name):
    print(step, name)

add_hook(hook)
test()

# <class 'baby_steps.Given'> 'status code'
# <class 'baby_steps.When'> 'user requests a resource'
# <class 'baby_steps.Then'> 'it should return expected status code'

Advanced

from baby_steps import when
from baby_steps.hooks import add_hook

def test():
    with when:
        print("when")


def hook(step, name):
    print("before", step)
    yield
    print("after", step)

add_hook(hook)
test()

# before <class 'baby_steps.When'>
# when
# after <class 'baby_steps.When'>

Custom Steps

from baby_steps import Step

class AndThen(Step):
    pass

and_then = AndThen()

with and_then("smth"):
    pass

Release files for baby-steps 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for baby-steps 1.3.1
File Size Uploaded
baby_steps-1.3.1.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for baby-steps 1.3.1
File Interpreter ABI Platform
baby_steps-1.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 15.5 kB

Release files / baby_steps-1.3.1.tar.gz

Download URL baby_steps-1.3.1.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4312f88e8d92a7a7b9a070b32a114ea6d8c432e6a10e4c8b2163a6bcc2461036
BLAKE2b-256 checksum
How to use checksums
d017c1bac3b57488801455ff8228f8c18107cbe5f4233c4b1e713fdb86e40f62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.9

Release files / baby_steps-1.3.1-py3-none-any.whl

Download URL baby_steps-1.3.1-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0409b453ff5dc2d0830f058b5241a06475534f32337be0a192497085347ac820
BLAKE2b-256 checksum
How to use checksums
6b75cd931faf5df31683d1b4c12c663147b4ca7315bf6ed484b34ab362452506
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

1.3.1 This release

2 release files

1.3.0

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page