Skip to main content

The goal of pyhistorian is to write an internal Given-When-Then template using Python. The ideas came from JBehave, RBehave, Cucumber and others.

It’s possible to write your stories in English and Portuguese, choose your preferred.

A good example of use [en-us, by default] follows (call this file calculator.py):

from should_dsl import *
from pyhistorian import *

class Calculator(object):
    def sum(self, n1, n2):
        return n1+n2


class SpecifyingMyNewCalculator(Story):
    """As a lazy mathematician
       I want to use a calculator
       So that I don't waste my time thinking"""
    colored = True
    template_color = 'yellow'
    scenarios = ['SumScenario'] # optional


class SumScenario(Scenario):
    @Given('I have a calculator')
    def set_my_calculator(self):
        self.calculator = Calculator()

    @When('I enter with 1 + 1')
    def sum_one_to_one(self):
        self.result = self.calculator.sum(1, 1)

    @Then('I have $value as result', 2)
    def get_result(self, value):
        self.result |should_be| value


if __name__ == '__main__':
    SpecifyingMyNewCalculator.run()

Running:

$ python calculator.py
Story: Specifying my new calculator
As a lazy mathematician
I want to use a calculator
So that I don't waste my time thinking

Scenario 1: Sum of 1 and 1
  Given I have a calculator   ... OK
  When I enter with 1 + 1   ... OK
  Then I have 2 as result   ... OK

Ran 1 scenarios with 0 failures, 0 errors and 0 pending steps

pyhistorian is at github.com

Due to DVCS I moved pyhistorian from Google Gode to github.com.

You can get it at here:

http://github.com/hugobr/pyhistorian

Metadata

Release files for pyhistorian 0.6.8

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

Source distribution (sdist)

Source distribution for pyhistorian 0.6.8
File Size Uploaded Provenance
pyhistorian-0.6.8.tar.gz 19.8 kB Without provenance Details

Release files / pyhistorian-0.6.8.tar.gz

Download URL pyhistorian-0.6.8.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
124fe8652dfca8c35c7027acc281148624619c11131238bf43bb3bd4b7e2a82e
BLAKE2b-256 checksum
How to use checksums
46d262683446775adf76cd593495302343080e68b563d140131a65c53ce784af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for pyhistorian 0.6.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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