Metadata-Version: 1.0
Name: pytest-allure-adaptor
Version: 1.4.0
Summary: Plugin for py.test to generate allure xml reports
Home-page: https://github.com/allure-framework/allure-python
Author: pupssman
Author-email: pupssman@yandex-team.ru
License: UNKNOWN
Description: Allure Pytest Adaptor
        =====================
        
        .. image:: https://pypip.in/v/pytest-allure-adaptor/badge.png
                :alt: Release Status
                :target: https://pypi.python.org/pypi/pytest-allure-adaptor
        .. image:: https://pypip.in/d/pytest-allure-adaptor/badge.png
                :alt: Downloads
                :target: https://pypi.python.org/pypi/pytest-allure-adaptor
        
        This repository contains a plugin for ``py.test`` which automatically prepares input data used to generate ``Allure Report``.
        
        Usage
        =====
        .. code:: python
        
         py.test --alluredir [path_to_report_dir]
         # WARNING [path_to_report_dir] will be purged at first run
        
        
        This plugin gets automatically connected to ``py.test`` via ``entry point`` if installed.
        
        Connecting to IDE:
        
        .. code:: python
        
         pytest_plugins = 'allure.pytest_plugin',\
        
        
        Advanced usage
        ==============
        
        Attachments
        ===========
        
        To attach some content to test report:
        
        .. code:: python
        
         import allure
        
         def test_foo():
             allure.attach('my attach', 'Hello, World')
        
        
        Steps
        =====
        
        To divide a test into steps:
        
        .. code:: python
        
         import pytest
        
         def test_foo():
             with pytest.allure.step('step one'):
                 # do stuff
        
             with pytest.allure.step('step two'):
                 # do more stuff
        
        
        Can also be used as decorators. By default step name is generated from method name:
        
        .. code:: python
        
         import pytest
        
         @pytest.allure.step
         def make_test_data_foo():
             # do stuff
        
         def test_foo():
             assert make_some_data_foo() is not None
        
         @pytest.allure.step('make_some_data_foo')
         def make_some_data_bar():
             # do another stuff
        
         def test_bar():
             assert make_some_data_bar() is not None
        
        
        Steps can also be used without pytest. In that case instead of ``pytest.allure.step`` simply use ``allure.step``:
        
        .. code:: python
        
         import allure
        
         @allure.step('some operation')
         def do_operation():
             # do stuff
        
        
        Steps support is limited when used with fixtures.
        
        
        Severity
        ========
        
        Any test, class or module can be marked with different severity:
        
        .. code:: python
        
         import pytest
        
         @pytest.allure.severity(pytest.allure.severity_level.MINOR)
         def test_minor():
             assert False
        
        
         @pytest.allure.severity(pytest.allure.severity_level.CRITICAL)
         class TestBar:
        
             # will have CRITICAL priority
             def test_bar(self):
                 pass
        
             # will have BLOCKER priority via a short-cut decorator
             @pytest.allure.BLOCKER
             def test_bar(self):
                 pass
        
        
        To run tests with concrete priority:
        
        .. code:: rest
        
         py.test my_tests/ --allure_severities=critical,blocker
        
        Features & Stories
        ========
        
        Feature and Story can be set for test.
        
        .. code:: python
        
         import allure
        
        
         @allure.feature('Feature1')
         @allure.story('Story1')
         def test_minor():
             assert False
        
        
         @allure.feature('Feature2')
         @allure.story('Story2', 'Story3')
         @allure.story('Story4')
         class TestBar:
        
             # will have 'Feature2 and Story2 and Story3 and Story4'
             def test_bar(self):
                 pass
        
        
        To run tests by Feature or Story:
        
        .. code:: rest
        
         py.test my_tests/ --allure_features=feature1,feature2
         py.test my_tests/ --allure_features=feature1,feature2 --allure_stories=story1,story2
        
        Extending
        =========
        
        Use ``allure.common.AllureImpl`` class to bind your logic to this adapter.
        
Platform: UNKNOWN
