Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

baby-steps

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

baby-steps

Readability Matters

  • 1.3.1
  • PyPI
  • Socket score

Maintainers
2

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

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc