Skip to main content

Matchers for pytest

Project description

Pytest Matchers

Test your code with vague constrains

Release Notes CI PyPI - License PyPI - Downloads GitHub star chart Code style: black

Quick Install

With pip

pip install pytest-matchers

With poetry

poetry add pytest-matchers [--group dev]

Usage

Examples on tests/examples

from random import random
from pytest_matchers import is_number


def test_random_number():
    assert random() == is_number(min_value=0, max_value=1)

And when failing:

def test_random_number():
    assert random() == is_number(min_value=1, max_value=2)

On pytest CLI

=================================== FAILURES ===================================
______________________________ test_random_number ______________________________

    def test_random_number():
>       assert random() == is_number(min_value=1, max_value=2)
E       assert 0.9048172867693559 == To be a number between 1 and 2
E        +  where 0.9048172867693559 = random()
E        +  and   To be a number between 1 and 2 = is_number(min_value=1, max_value=2)

tests/examples/test_example.py:6: AssertionError
=========================== short test summary info ============================
FAILED tests/examples/test_example.py::test_random_number - assert 0.9048172867693559 == To be a number between 1 and 2
============================== 1 failed in 0.02s ===============================

On PyCharm

tests/examples/test_example.py:4 (test_random_number)
0.9048172867693559 != To be a number between 1 and 2

Expected :To be a number between 1 and 2
Actual   :0.9048172867693559

Matchers

  • is_number
  • is_string
  • is_list
  • is_instance
  • between
  • one_of
  • has_attribute
  • is_datetime
  • is_datetime_string
  • same_value
  • different_value
  • if_true
  • if_false
  • case

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

pytest_matchers-0.2.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytest_matchers-0.2.0-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file pytest_matchers-0.2.0.tar.gz.

File metadata

  • Download URL: pytest_matchers-0.2.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for pytest_matchers-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3ffd9af7c417d787db35b780f9a5a47fbe41409ff51767c68d92221e67e404e8
MD5 524de4e6f7f9c00229a5bad491867b6f
BLAKE2b-256 d86cb2b5850d5824a5d62ef06b222ade8a3baecca9c929e97baea5ed7a460f10

See more details on using hashes here.

File details

Details for the file pytest_matchers-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_matchers-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 474c3a7119d39830d0039d4f784ceeb752fefd3c1dbe8308187e406a304f157d
MD5 0c7f9a92313e7ed5d3c108c68efe827a
BLAKE2b-256 094461780a34fd2d9dcfb5d8277ec60b0c52023caca902ec8b6c69a2c25d37a2

See more details on using hashes here.

Supported by

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