Skip to main content

Soft assertions for Python/Pytest

Project description

soft-asserts

Soft assertions for Python/Pytest

Installation

pip install soft-assert

Usage

Assertion is performed immediately after the call check(), but the expected result is obtained only after exit the context manager verify()

Quick example:

from  soft_assert import check, verify

def test_something():
    with verify():
        check(1 == 1)
        check(2 > 1, 'Message if test failed')
        check('one' != 'two', 'Some message')

You can use asserts in loop:

from  soft_assert import check, verify

def test_asserts_in_loop():
    with verify():
        for number in range(1, 10):
            check(number % 2 == 0, '{number} is not a multiple of 2')

Also you can use it with pytest parametrized tests:

import pytest
from  soft_assert import check, verify

@pytest.mark.parametrize('number', list(range(1, 10)))
def test_pytest_example(number):
    with verify():
        check(number % 2 == 0)

Example of output:

AssertionError: Failed conditions count: [ 4 ]

1. Failure: Custom message if test failed

2. Failure: Lists not equals

3. Failure: Your custom message; 4 < 5!

4. Failure: one != two

More examples you can find in test_example.py

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

soft-assert-1.0.5.tar.gz (2.9 kB view hashes)

Uploaded Source

Built Distribution

soft_assert-1.0.5-py3-none-any.whl (3.4 kB view hashes)

Uploaded Python 3

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