Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Should assertions in Python as clear and readable as possible

Project description

The goal of Should-DSL is to write should expectations in Python as clear and readable as possible, using “almost” natural language (limited - sometimes - by the Python language constraints).

In order to use this DSL, you need to import should and should_not objects from should_dsl module.

For example:

>>> from should_dsl import should

>>> 1 |should| equal_to(1)
>>> 'should' |should| include('oul')
>>> 3 |should| be_into([0, 1, 2])
Traceback (most recent call last):
ShouldNotSatisfied: 3 is not into [0, 1, 2]

The equal_to matcher verifies object equality. If you want to ensure identity, you must use be as matcher:

>>> 2 |should| be(2)

A nice example of exceptions would be:

>>> def raise_zerodivisionerror():
...     return 1/0
>>> raise_zerodivisionerror |should| throw(ZeroDivisionError)

should has a negative version: should_not:

>>> from should_dsl import should_not

>>> 2 |should_not| be_into([1, 3, 5])
>>> 'should' |should_not| include('oul')
Traceback (most recent call last):
ShouldNotSatisfied: 'should' does include 'oul'

Project details

Download files

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

Files for should_dsl, version 2.1.2
Filename, size File type Python version Upload date Hashes
Filename, size should_dsl-2.1.2-py2.7.egg (21.4 kB) File type Egg Python version 2.7 Upload date Hashes View
Filename, size should_dsl-2.1.2.tar.gz (13.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page