Metadata-Version: 2.1
Name: pytest-check
Version: 0.3.2
Summary: A pytest plugin that allows multiple failures per test.
Home-page: https://github.com/okken/pytest-check
Author: Brian Okken
Author-email: brian@pythontesting.net
Maintainer: Brian Okken
Maintainer-email: brian@pythontesting.net
License: MIT
Description: # pytest-check
        
        A pytest plugin that allows multiple failures per test.
        
        ----
        
        This [pytest](https://github.com/pytest-dev/pytest) plugin was a rewrite and a
        rename of [pytest-expect](https://github.com/okken/pytest-expect).
        
        
        
        ## Installation
        
        From PPI:
        
        ```
        $ pip install pytest-check
        ```
        
        Or from github.
        
        ```
        $ pip install git+https://github.com/okken/pytest-check
        ```
        
        
        ## Usage
        
        Example using import:
        
        ```
        import pytest_check as check
        
        
        def test_example():
            a = 1
            b = 2
            c = [2, 4, 6]
            check.greater(a, b)
            check.less_equal(b, a)
            check.is_in(a, c, "Is 1 in the list")
            check.is_not_in(b, c, "make sure 2 isn't in list")
        ```
        
        
        Test results:
        
        ```
        =================================== FAILURES ===================================
        _________________________________ test_example _________________________________
        FAILURE:
        assert 1 > 2
          test_check.py, line 14, in test_example() -> check.greater(a, b)
        FAILURE:
        assert 2 <= 1
          test_check.py, line 15, in test_example() -> check.less_equal(b, a)
        FAILURE: Is 1 in the list
        assert 1 in [2, 4, 6]
          test_check.py, line 16, in test_example() -> check.is_in(a, c, "Is 1 in the list")
        FAILURE: make sure 2 isn't in list
        assert 2 not in [2, 4, 6]
          test_check.py, line 17, in test_example() -> check.is_not_in(b, c, "make sure 2 isn't in list")
        ------------------------------------------------------------
        Failed Checks: 4
        =========================== 1 failed in 0.11 seconds ===========================
        ```
        
        
        Example using fixture:
        
        ```
        def test_example(check):
            a = 1
            b = 2
            c = [2, 4, 6]
            check.greater(a, b)
            check.less_equal(b, a)
            check.is_in(a, c, "Is 1 in the list")
            check.is_not_in(b, c, "make sure 2 isn't in list")
        ```
        
        
        ## validation functions
        
        - **check.equal** - *a == b*
        - **check.not_equal** - *a != b*
        - **check.is_true** - *bool(x) is True*
        - **check.is_false** - *bool(x) is False*
        - **check.is_none** - *x is None*
        - **check.is_not_none** - *x is not None*
        - **check.is_in** - *a in b*
        - **check.not_in** - *a not in b*
        - **check.is_instance** - *isinstance(a, b)*
        - **check.not_is_instance** - *not isinstance(a, b)*
        - **check.almost_equal** - *a == pytest.approx(b, rel, abs)* see at: [pytest.approx](https://docs.pytest.org/en/latest/reference.html#pytest-approx)
        - **check.not_almost_equal** - *a != pytest.approx(b, rel, abs)* see at: [pytest.approx](https://docs.pytest.org/en/latest/reference.html#pytest-approx)
        - **check.greater** - *a > b*
        - **check.greater_equal** - *a >= b*
        - **check.less** - *a < b*
        - **check.less_equal** - *a <= b*
        
        ## Defining your own check functions
        
        The `@check_func` decorator allows you to wrap any test helper that has an assert
        statement in it to be a non-blocking assert function.
        
        
        ```
        from pytest_check import check_func
        
        @check_func
        def is_four(a):
            assert a == 4
        
        def test_all_four():
            is_four(1)
            is_four(2)
            is_four(3)
            is_four(4)
        ```
        
        The above will result in:
        
        ```
        ...
        ________________________________ test_all_four _________________________________
        FAILURE: assert 1 == 4
          test_fail.py, line 8, in test_all_four() -> is_four(1)
        FAILURE: assert 2 == 4
          test_fail.py, line 9, in test_all_four() -> is_four(2)
        FAILURE: assert 3 == 4
          test_fail.py, line 10, in test_all_four() -> is_four(3)
        ------------------------------------------------------------
        Failed Checks: 3
        =========================== 1 failed in 0.12 seconds ===========================
        ```
        
        
        ## Contributing
        
        Contributions are very welcome. Tests can be run with [tox](https://tox.readthedocs.io/en/latest/), please ensure
        the coverage at least stays the same before you submit a pull request.
        
        ## License
        
        Distributed under the terms of the [MIT](http://opensource.org/licenses/MIT) license, "pytest-check" is free and open source software
        
        
        ## Issues
        
        If you encounter any problems, please [file an issue](https://github.com/okken/pytest-check/issues) along with a detailed description.
        
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Pytest
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Testing
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Description-Content-Type: text/markdown
