Skip to main content

Pattern matching helper classes designed to allow for testing of complex data structures in a readable and logical format.

Project description

Jestspectation

Pattern matching helper classes designed to allow for testing of complex data structures in a readable and logical format.

The design is inspired by the expect system from JavaScript's Jest testing framework.

import jestspectation as expect

assert {
    "a": 1,
    "b": 2,
    "c": 3.0,
} == {
    "a": 1,
    "b": expect.Any(int),
    "c": expect.FloatApprox(2.5, magnitude=0.5)
}

Installation

pip install jestspectation

Usage with Pytest

The library can be used as a pytest plugin, which can give access to much more detailed error messages when assertions fail.

You can enable it by adding the following lines to your conftest.py

pytest_plugins = ("jestspectation.pytest",)

This should result in output similar to the following

    def test_goodbye():
>       assert 1 == expect.Any(float)
E       assert Type mismatch
E         Expected any object of type float
E         Received 1 (int)

These advanced completions can also be used for most standard Python objects by wrapping the expected values in an Equals. For example:

    def test_lists():
>       assert expect.Equals([1, 2, 3, 4]) == [1, 2, 3, 5, 6]
E       assert [1, 2, 3, 4] == [1, 2, 3, 5, 6]
E         !! [3] 4 == 5
E            Value mismatch
E            Expected 4
E            Received 5
E         ++ [4] 6

Project details


Download files

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

Source Distribution

Jestspectation-0.5.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

Jestspectation-0.5.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file Jestspectation-0.5.0.tar.gz.

File metadata

  • Download URL: Jestspectation-0.5.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for Jestspectation-0.5.0.tar.gz
Algorithm Hash digest
SHA256 06839ece19162e2c45100ec6964f9a52cbd0a038c272cf23241d114e7f786bc1
MD5 eb83d52e79aca8875ff6df55eb02497f
BLAKE2b-256 8a43a7f4520e66855d97ece58230423e17a273e5f89ff85f90b18c2a5a2ab891

See more details on using hashes here.

File details

Details for the file Jestspectation-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for Jestspectation-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b6479f70a88aa20ffc86d513a848e5e56cd8fd51da1e98744947094a81098f3
MD5 48a1f1758e53ab46c86872915d216e15
BLAKE2b-256 9420a20a4b52f13be350bbad2ca6f7487bd56ff9d332f1777128dcf33e48e133

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page