Skip to main content

Soft assertions for Python

Project description

Build Status PyPI version

smart-assertions

Soft assertions for Python

Installation

    pip install smart-assertions

Usage

Assertion is performed immediately after the call soft_assert(), but the expected result is obtained only after the call verify_expectations()

Quick example:

    from  smart_assertions import soft_assert, verify_expectations

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

You can use asserts in loop:

    from  smart_assertions import soft_assert, verify_expectations

    def test_asserts_in_loop():
        for number in range(1, 10):
            soft_assert(number % 2 == 0, '{} is not a multiple of 2'.format(number))
        verify_expectations()

Also you can use it with pytest parametrized tests:

    import pytest
    from  smart_assertions import soft_assert, verify_expectations

    @pytest.mark.parametrize("number", list(range(1, 10)))
    def test_pytest_example(number):
        soft_assert(number % 2 == 0)
        verify_expectations()

Example of output:

    AssertionError: Failed conditions count: [ 4 ]

    1. Exception: Custom message if test failed
    Fail in "/Users/nromanov/Documents/smart-assertions/unittest_example.py:28" test_mixed()

    2. Exception: Lists not equals
    Fail in "/Users/nromanov/Documents/smart-assertions/unittest_example.py:30" test_mixed()

    3. Exception: Your custom message; 4 < 5!
    Fail in "/Users/nromanov/Documents/smart-assertions/unittest_example.py:32" test_mixed()

    4. Exception: one != two
    Fail in "/Users/nromanov/Documents/smart-assertions/unittest_example.py:34" test_mixed()

More examples you can find in unittest_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

smart-assertions-1.0.2.tar.gz (2.2 kB view hashes)

Uploaded Source

Built Distribution

smart_assertions-1.0.2-py3-none-any.whl (3.5 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