Skip to content

pashkatrick/soft-assert

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Soft assertions for Pytest / Python

Resources

License

Stars

Watchers

Forks

Languages

  • Python 100.0%