def test_threads(self): assert_that( self.allure_report, has_test_case( 'Case With Thread #0', has_label('thread', 'Thread #0') ), has_test_case( 'Case With Thread #1', has_label('thread', 'Thread #1') ) )
def test_pytest_bytes_data_in_assert(executed_docstring_source): """ >>> import allure >>> def test_pytest_bytes_data_in_assert_example(): ... with allure.step("Step"): ... assert "0\\x82" == 1 """ assert_that( executed_docstring_source.allure_report, has_test_case( "test_pytest_bytes_data_in_assert_example", with_status("failed"), has_status_details( with_message_contains( "AssertionError: assert \'0\\x82\' == 1"), with_trace_contains( "def test_pytest_bytes_data_in_assert_example():")), has_step( "Step", with_status("failed"), has_status_details( with_message_contains( "AssertionError: assert \'0\\x82\' == 1"), with_trace_contains( "test_pytest_bytes_data_in_assert_example")))))
def test_dynamic_description_html(executed_docstring_path): assert_that( executed_docstring_path.allure_report, has_test_case( "test_dynamic_description_html", has_description_html( contains_string("<p>Actual HTML description</p>"))))
def test_fixture(allured_testdir, first_scope, second_scope): allured_testdir.testdir.makepyfile(""" import pytest @pytest.fixture(scope="{first_scope}") def first_fixture(): pass @pytest.fixture(scope="{second_scope}") def second_fixture(): pass def test_fixture_example(first_fixture, second_fixture): pass """.format(first_scope=first_scope, second_scope=second_scope)) allured_testdir.run_with_allure() assert_that(allured_testdir.allure_report, has_test_case("test_fixture_example", has_container(allured_testdir.allure_report, has_before("first_fixture") ), has_container(allured_testdir.allure_report, has_before("second_fixture"), ) ) )
def test_skip_finalizer_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def skip_finalizer_fixture(request): ... def fixture_finalizer(): ... pytest.skip() ... request.addfinalizer(fixture_finalizer) >>> def test_skip_finalizer_fixture_example(skip_finalizer_fixture): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_skip_finalizer_fixture_example", with_status("passed"), has_container(executed_docstring_source.allure_report, has_after("{fixture}::{finalizer}".format( fixture="skip_finalizer_fixture", finalizer="fixture_finalizer"), with_status("skipped"), has_status_details(with_message_contains("Skipped: <Skipped instance>"), with_trace_contains("fixture_finalizer") ), ), ) ) )
def test_passed_with_step(self): assert_that( self.allure_report, has_test_case( 'Passed Case With Step', with_status('passed'), has_step(RobotBasicKeywords.NO_OPERATION, with_status('passed'))))
def test_fixture_with_step_from_conftest(allured_testdir): allured_testdir.testdir.makeconftest(""" import allure import pytest @allure.step("step in conftest.py") def conftest_step(): pass @pytest.fixture def fixture_with_conftest_step(): conftest_step() """) allured_testdir.testdir.makepyfile(""" def test_fixture_with_step_from_conftest_example(fixture_with_conftest_step): pass """) allured_testdir.run_with_allure() assert_that(allured_testdir.allure_report, has_test_case("test_fixture_with_step_from_conftest_example", has_container(allured_testdir.allure_report, has_before("fixture_with_conftest_step", has_step("step in conftest.py") ) ) ) )
def test_dynamic_feature(executed_docstring_path): assert_that(executed_docstring_path.allure_report, has_test_case("test_dynamic_feature", has_feature("first feature"), has_feature("second feature") ) )
def test_titled_fixture_from_conftest(allured_testdir): allured_testdir.testdir.makeconftest(""" import allure import pytest @allure.title('Titled fixture before pytest.fixture') @pytest.fixture def first_fixture(): pass @pytest.fixture @allure.title('Titled fixture after pytest.fixture') def second_fixture(): pass """) allured_testdir.testdir.makepyfile(""" def test_with_titled_conftest_fixtures(first_fixture, second_fixture): pass """) allured_testdir.run_with_allure() assert_that( allured_testdir.allure_report, has_test_case( "test_with_titled_conftest_fixtures", has_container(allured_testdir.allure_report, has_before("Titled fixture before pytest.fixture")), has_container(allured_testdir.allure_report, has_before("Titled fixture after pytest.fixture"))))
def test_failed_finalizer_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def failed_finalizer_fixture(request): ... def fixture_finalizer(): ... assert False ... request.addfinalizer(fixture_finalizer) ... ... def test_failed_finalizer_fixture_example(failed_finalizer_fixture): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_failed_finalizer_fixture_example", with_status("failed"), has_status_details(with_message_contains("AssertionError"), with_trace_contains("def fixture_finalizer():") ), has_container(executed_docstring_source.allure_report, has_after("{fixture}::{finalizer}".format( fixture="failed_finalizer_fixture", finalizer="fixture_finalizer"), with_status("failed"), has_status_details(with_message_contains("AssertionError"), with_trace_contains("fixture_finalizer") ), ), ) ) )
def test_fixture_finalizer(executed_docstring_source): """ >>> import pytest Let"s define fixture with finalizer: >>> @pytest.fixture ... def fixture_with_finalizer(request): ... def finalizer(): ... pass ... request.addfinalizer(finalizer) For next test, allure will report fixture finalizer in TearDown section >>> def test_fixture_with_finalizer_example(fixture_with_finalizer): ... pass """ assert_that( executed_docstring_source.allure_report, has_test_case( "test_fixture_with_finalizer_example", has_container( executed_docstring_source.allure_report, has_before("fixture_with_finalizer"), has_after("{fixture}::{finalizer}".format( fixture="fixture_with_finalizer", finalizer="finalizer")))))
def test_fixture(allured_testdir, first_scope, second_scope): allured_testdir.testdir.makepyfile(""" import pytest @pytest.fixture(scope="{first_scope}") def first_fixture(): pass @pytest.fixture(scope="{second_scope}") def second_fixture(): pass def test_fixture_example(first_fixture, second_fixture): pass """.format(first_scope=first_scope, second_scope=second_scope)) allured_testdir.run_with_allure() assert_that( allured_testdir.allure_report, has_test_case( "test_fixture_example", has_container(allured_testdir.allure_report, has_before("first_fixture")), has_container( allured_testdir.allure_report, has_before("second_fixture"), )))
def test_fixture_finalizers(executed_docstring_source): """ >>> import pytest In pytest, you can define several finalizers for one fixture, like this: >>> @pytest.fixture ... def fixture_with_finalizers(request): ... def first_finalizer(): ... pass ... request.addfinalizer(first_finalizer) ... ... def second_finalizer(): ... pass ... request.addfinalizer(second_finalizer) Of course, allure will report all of them >>> def test_fixture_with_finalizers_example(fixture_with_finalizers): ... pass """ assert_that( executed_docstring_source.allure_report, has_test_case( "test_fixture_with_finalizers_example", has_container( executed_docstring_source.allure_report, has_before("fixture_with_finalizers"), has_after("{fixture}::{finalizer}".format( fixture="fixture_with_finalizers", finalizer="first_finalizer")), has_after( "{fixture}::{finalizer}".format( fixture="fixture_with_finalizers", finalizer="second_finalizer"), ))))
def test_fixture_with_step_from_conftest(allured_testdir): allured_testdir.testdir.makeconftest(""" import allure import pytest @allure.step("step in conftest.py") def conftest_step(): pass @pytest.fixture def fixture_with_conftest_step(): conftest_step() """) allured_testdir.testdir.makepyfile(""" def test_fixture_with_step_from_conftest_example(fixture_with_conftest_step): pass """) allured_testdir.run_with_allure() assert_that( allured_testdir.allure_report, has_test_case( "test_fixture_with_step_from_conftest_example", has_container( allured_testdir.allure_report, has_before("fixture_with_conftest_step", has_step("step in conftest.py")))))
def test_xfail_step_failure(executed_docstring_source): """ >>> import pytest >>> import allure >>> @pytest.mark.xfail() ... def test_xfail_step_failure_example(): ... with allure.step("Step"): ... assert False """ assert_that(executed_docstring_source.allure_report, has_test_case("test_xfail_step_failure_example", with_status("skipped"), has_status_details(with_message_contains("AssertionError"), with_trace_contains("def test_xfail_step_failure_example():") ), has_step("Step", with_status("failed"), has_status_details(with_message_contains("AssertionError"), with_trace_contains("test_xfail_step_failure_example") ) ) ) )
def test_step_with_attachment(executed_docstring_path): assert_that( executed_docstring_path.allure_report, has_test_case( "test_step_with_attachment", has_step("step_with_attachment", has_attachment()), ))
def test_step_parameters(executed_docstring_source, request, args, kwargs): """ >>> import pytest >>> import allure >>> @allure.step ... def step(arg, kwarg=None): ... pass >>> @pytest.mark.parametrize( ... ["args", "kwargs"], ... [ ... ([True], {"kwarg": False}), ... ([True], {"kwarg": False}), ... (["hi"], {"kwarg": None}), ... ([None], {"kwarg": 42}) ... ] ... ) ... def test_args_less_than_placeholders_example(args, kwargs): ... step(*args, **kwargs) """ test_name = "test_args_less_than_placeholders_example[{params_name}]".format( params_name=params_name(request)) assert_that( executed_docstring_source.allure_report, has_test_case( test_name, has_step( "step", *([has_parameter("arg", represent(arg)) for arg in args] + [ has_parameter("kwarg", represent(kwarg)) for kwarg in kwargs.values() ]))))
def test_pytest_failed_finalizer_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def pytest_failed_finalizer_fixture(request): ... def fixture_finalizer(): ... pytest.fail() ... request.addfinalizer(fixture_finalizer) >>> def test_pytest_failed_finalizer_fixture_example(pytest_failed_finalizer_fixture): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_pytest_failed_finalizer_fixture_example", with_status("failed"), has_status_details(with_message_contains("Failed"), with_trace_contains("def fixture_finalizer():") ), has_container(executed_docstring_source.allure_report, has_after("{fixture}::{finalizer}".format( fixture="pytest_failed_finalizer_fixture", finalizer="fixture_finalizer"), with_status("failed"), has_status_details(with_message_contains("Failed"), with_trace_contains("fixture_finalizer") ), ), ) ) )
def test_step_with_thread_and_attachment(allured_testdir): allured_testdir.testdir.makepyfile(""" from concurrent.futures import ThreadPoolExecutor import allure import pytest @allure.step("thread {x}") def parallel_step(x=1): allure.attach("text", str(x), allure.attachment_type.TEXT) def test_thread(): with allure.step("Start in thread"): with ThreadPoolExecutor(max_workers=2) as executor: f_result = executor.map(parallel_step, [1, 2]) """) allured_testdir.run_with_allure() assert_that( allured_testdir.allure_report, has_test_case( "test_thread", has_step( "Start in thread", has_step("thread 1", has_attachment(name="1")), has_step("thread 2", has_attachment(name="2")), )))
def test_pytest_fail_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def pytest_fail_fixture(): ... pytest.fail() >>> def test_pytest_fail_fixture_example(pytest_fail_fixture): ... pass """ assert_that( executed_docstring_source.allure_report, has_test_case( "test_pytest_fail_fixture_example", with_status("failed"), has_status_details( with_message_contains("Failed: <Failed instance>"), with_trace_contains("def pytest_fail_fixture():")), has_container( executed_docstring_source.allure_report, has_before( "pytest_fail_fixture", with_status("failed"), has_status_details( with_message_contains("Failed: <Failed instance>"), with_trace_contains("pytest_fail_fixture")), ), )))
def test_failed_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def failed_fixture(): ... assert False >>> def test_failed_fixture_example(failed_fixture): ... pass """ assert_that( executed_docstring_source.allure_report, has_test_case( "test_failed_fixture_example", with_status("failed"), has_status_details(with_message_contains("AssertionError"), with_trace_contains("def failed_fixture():")), has_container( executed_docstring_source.allure_report, has_before( "failed_fixture", with_status("failed"), has_status_details(with_message_contains("AssertionError"), with_trace_contains("failed_fixture")), ), )))
def test_module_custom_suite(executed_docstring_path): assert_that( executed_docstring_path.allure_report, has_test_case( "test_module_level_custom_suite", has_suite("module level suite name"), ))
def test_opened_step_function(executed_docstring_source): """ >>> import allure >>> import pytest >>> @pytest.fixture() ... def yield_fixture(): ... with allure.step("Opened step"): ... yield >>> def test_opened_step(yield_fixture): ... with allure.step("Body step"): ... pass """ assert_that( executed_docstring_source.allure_report, has_test_case( "test_opened_step", all_of( has_step("Body step"), has_container( executed_docstring_source.allure_report, has_before( "yield_fixture", has_step("Opened step", not_(has_step("Body step"))))), )))
def test_pytest_fail_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def pytest_fail_fixture(): ... pytest.fail() >>> def test_pytest_fail_fixture_example(pytest_fail_fixture): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_pytest_fail_fixture_example", with_status("failed"), has_status_details(with_message_contains("Failed: <Failed instance>"), with_trace_contains("def pytest_fail_fixture():") ), has_container(executed_docstring_source.allure_report, has_before("pytest_fail_fixture", with_status("failed"), has_status_details( with_message_contains("Failed: <Failed instance>"), with_trace_contains("pytest_fail_fixture") ), ), ) ) )
def test_step_with_thread(allured_testdir): allured_testdir.testdir.makepyfile(""" from concurrent.futures import ThreadPoolExecutor import allure @allure.step("thread {x}") def parallel_step(x=1): with allure.step("Sub-step in thread"): pass def test_thread(): with allure.step("Start in thread"): with ThreadPoolExecutor(max_workers=2) as executor: executor.map(parallel_step, [1, 2]) """) allured_testdir.run_with_allure() assert_that( allured_testdir.allure_report, has_test_case( "test_thread", has_step("Start in thread", has_step("thread 1", has_step("Sub-step in thread")), has_step("thread 2"))))
def test_failed_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def failed_fixture(): ... assert False >>> def test_failed_fixture_example(failed_fixture): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_failed_fixture_example", with_status("failed"), has_status_details(with_message_contains("AssertionError"), with_trace_contains("def failed_fixture():") ), has_container(executed_docstring_source.allure_report, has_before("failed_fixture", with_status("failed"), has_status_details(with_message_contains("AssertionError"), with_trace_contains("failed_fixture") ), ), ) ) )
def test_skip_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def skip_fixture(): ... pytest.skip() >>> @pytest.mark.xfail() ... def test_skip_fixture_example(skip_fixture): ... pass """ assert_that( executed_docstring_source.allure_report, has_test_case( "test_skip_fixture_example", with_status("skipped"), has_status_details( with_message_contains("Skipped: <Skipped instance>")), has_container( executed_docstring_source.allure_report, has_before( "skip_fixture", with_status("skipped"), has_status_details( with_message_contains("Skipped: <Skipped instance>"), with_trace_contains("skip_fixture")), ), )))
def test_attach_body(executed_docstring_path): assert_that( executed_docstring_path.allure_report, has_test_case( "test_attach_body", has_attachment(attach_type="application/xml", name="some attachment name")))
def test_xfail_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def broken_fixture(): ... raise NotImplementedError >>> @pytest.mark.xfail() ... def test_xfail_fixture_example(broken_fixture): ... pass """ assert_that( executed_docstring_source.allure_report, has_test_case( "test_xfail_fixture_example", with_status("skipped"), has_status_details(with_message_contains("NotImplementedError"), with_trace_contains("def broken_fixture():")), has_container( executed_docstring_source.allure_report, has_before( "broken_fixture", with_status("broken"), has_status_details( with_message_contains("NotImplementedError"), with_trace_contains("broken_fixture")), ), )))
def test_nested_steps(executed_docstring_path): assert_that( executed_docstring_path.allure_report, has_test_case( "test_nested_steps", has_step("grand parent step", has_step("parent step", has_step("passed_step")))))
def test_step_parameters(executed_docstring_source, request, args, kwargs): """ >>> import pytest >>> import allure >>> @allure.step ... def step(arg, kwarg=None): ... pass >>> @pytest.mark.parametrize( ... ["args", "kwargs"], ... [ ... ([True], {"kwarg": False}), ... ([True], {"kwarg": False}), ... (["hi"], {"kwarg": None}), ... ([None], {"kwarg": 42}) ... ] ... ) ... def test_args_less_than_placeholders_example(args, kwargs): ... step(*args, **kwargs) """ test_name = "test_args_less_than_placeholders_example[{params_name}]".format( params_name=params_name(request)) assert_that(executed_docstring_source.allure_report, has_test_case(test_name, has_step("step", *([has_parameter("arg", represent(arg)) for arg in args] + [has_parameter("kwarg", represent(kwarg)) for kwarg in kwargs.values()] ) ) ) )
def test_parametrize_dynamic_link(executed_docstring_path, link): assert_that( executed_docstring_path.allure_report, has_test_case( "test_parametrize_dynamic_link[{link}]".format(link=link), has_issue_link(link), ))
def test_custom_label(executed_docstring_path): assert_that(executed_docstring_path.allure_report, has_test_case("test_custom_label", has_label("Application", "desktop"), has_label("Application", "mobile") ) )
def test_fixture_finalizers(executed_docstring_source): """ >>> import pytest In pytest, you can define several finalizers for one fixture, like this: >>> @pytest.fixture ... def fixture_with_finalizers(request): ... def first_finalizer(): ... pass ... request.addfinalizer(first_finalizer) ... ... def second_finalizer(): ... pass ... request.addfinalizer(second_finalizer) Of course, allure will report all of them >>> def test_fixture_with_finalizers_example(fixture_with_finalizers): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_fixture_with_finalizers_example", has_container(executed_docstring_source.allure_report, has_before("fixture_with_finalizers"), has_after("{fixture}::{finalizer}".format(fixture="fixture_with_finalizers", finalizer="first_finalizer") ), has_after("{fixture}::{finalizer}".format(fixture="fixture_with_finalizers", finalizer="second_finalizer"), ) ) ) )
def test_fixture_finalizer(executed_docstring_source): """ >>> import pytest Let"s define fixture with finalizer: >>> @pytest.fixture ... def fixture_with_finalizer(request): ... def finalizer(): ... pass ... request.addfinalizer(finalizer) For next test, allure will report fixture finalizer in TearDown section >>> def test_fixture_with_finalizer_example(fixture_with_finalizer): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_fixture_with_finalizer_example", has_container(executed_docstring_source.allure_report, has_before("fixture_with_finalizer"), has_after("{fixture}::{finalizer}".format(fixture="fixture_with_finalizer", finalizer="finalizer") ) ) ) )
def test_quadruple_suite(self): assert_that( self.allure_report, has_test_case( 'Case With Four Parent Suites', has_container( self.allure_report, has_entry('name', 'Case With Four Parent Suites'), has_container( self.allure_report, has_entry('name', 'Suite With Three Parent'), has_container( self.allure_report, has_entry('name', 'Third Level Suite'), has_container( self.allure_report, has_entry('name', 'Second Level Suite'), has_container( self.allure_report, has_entry('name', 'First Level Suite') ) ) ) ) ), has_sub_suite('Third Level Suite.Suite With Three Parent'), has_suite('Second Level Suite'), has_parent_suite('First Level Suite') ) )
def test_failed_with_details(self): assert_that(self.allure_report, has_test_case('Failed Case With Message', with_status('failed'), has_status_details(with_message_contains('Failed Details') ) ) )
def test_broken_fixture(executed_docstring_source): """ >>> import pytest >>> @pytest.fixture ... def broken_fixture(): ... raise IndexError >>> def test_broken_fixture_example(broken_fixture): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_broken_fixture_example", with_status("broken"), has_status_details(with_message_contains("IndexError"), with_trace_contains("def broken_fixture():") ), has_container(executed_docstring_source.allure_report, has_before("broken_fixture", with_status("broken"), has_status_details(with_message_contains("IndexError"), with_trace_contains("broken_fixture") ), ), ) ) )
def test_dynamic_display_name(executed_docstring_path): """ ./examples/display_name/dynamic_display_name.rst """ assert_that( executed_docstring_path.allure_report, has_test_case("test_dynamic_display_name", has_title("It is renamed test")))
def test_step_with_attachment(executed_docstring_path): assert_that(executed_docstring_path.allure_report, has_test_case("test_step_with_attachment", has_step("step_with_attachment", has_attachment() ), ) )
def test_not_decorated_sub_class_decorated_method(executed_docstring_path): assert_that(executed_docstring_path.allure_report, has_test_case("TestNotDecoratedSubClass#test_decorated_method", all_of(has_severity("critical"), is_not(has_severity("trivial")) ) ) )
def test_tags(self): assert_that( self.allure_report, has_test_case( 'Case In Suite With Metadata', has_link('https://google.com', LinkType.LINK, 'Link') ) )
def test_issue_link(executed_docstring_path): assert_that( executed_docstring_path.allure_report, has_test_case( "test_issue_link", has_issue_link( "https://github.com/allure-framework/allure-python/issues/24")) )
def test_all_links_together(executed_docstring_path): assert_that(executed_docstring_path.allure_report, has_test_case("test_all_links_together", has_issue_link("issues/24"), has_issue_link("issues/24"), has_link("allure", name="QAMETA", link_type="docs") ) )
def test_dynamic_display_name(executed_docstring_path): """ ./examples/display_name/dynamic_display_name.rst """ assert_that(executed_docstring_path.allure_report, has_test_case("test_dynamic_display_name", has_title("It is renamed test") ) )
def test_history_id(self): assert_that( self.allure_report, has_test_case( 'Case With Tags', has_history_id() ) )
def test_unicode_function_name(executed_docstring_source): """ >>> def test_unicode_func_déjà_vu(): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_unicode_func_déjà_vu") )
def test_nested_fixture(allured_testdir, parent_scope, child_scope): allured_testdir.testdir.makepyfile(""" import pytest @pytest.fixture(scope="{parent_scope}") def parent_fixture(): pass @pytest.fixture(scope="{child_scope}") def child_fixture(parent_fixture): pass def test_nested_fixture_example(child_fixture): pass def test_fixture_used_in_other_fixtures_example(parent_fixture): pass """.format(parent_scope=parent_scope, child_scope=child_scope)) allured_testdir.run_with_allure() assert_that(allured_testdir.allure_report, has_test_case("test_nested_fixture_example", has_container(allured_testdir.allure_report, has_before("parent_fixture") ), has_container(allured_testdir.allure_report, has_before("child_fixture"), ) ) ) assert_that(allured_testdir.allure_report, has_test_case("test_fixture_used_in_other_fixtures_example", has_container(allured_testdir.allure_report, has_before("parent_fixture") ), not_(has_container(allured_testdir.allure_report, has_before("child_fixture"), ) ) ) )
def test_unicode_class_name(executed_docstring_source): """ >>> class TestCaseПервый: ... def test_method(self): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("TestCaseПервый#test_method") )
def test_unicode_method_name(executed_docstring_source): """ >>> class TestCase: ... def test_unicode_method_例子(self): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_unicode_method_例子") )
def test_fixture_attachment(executed_docstring_path): assert_that(executed_docstring_path.allure_report, has_test_case("test_fixture_attachment", has_container(executed_docstring_path.allure_report, has_before("fixture_with_attachment", has_attachment() ) ) ) )
def test_fixture_finalizer_attachment(executed_docstring_path): assert_that(executed_docstring_path.allure_report, has_test_case("test_fixture_finalizer_attachment", has_container(executed_docstring_path.allure_report, has_after("fixture_with_attachment_in_finalizer::finalizer", has_attachment() ) ) ) )
def test_nested_steps(executed_docstring_path): assert_that(executed_docstring_path.allure_report, has_test_case("test_nested_steps", has_step("grand parent step", has_step("parent step", has_step("passed_step" ) ) ) ) )
def test_history_id(executed_docstring_source): """ >>> def test_history_id_example(): ... assert True """ assert_that(executed_docstring_source.allure_report, has_test_case("test_history_id_example", has_history_id() ) )
def test_passed(executed_docstring_source): """ >>> def test_passed_example(): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_passed_example", with_status("passed") ) )
def test_unicode_display_name(executed_docstring_source): """ >>> import allure >>> @allure.title(u"Лунтик") >>> def test_unicode_display_name_example(): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_unicode_display_name_example", has_title(u"Лунтик")) )
def test_default_suite(executed_docstring_source): """ >>> def test_default_suite_example(): ... pass """ assert_that(executed_docstring_source.allure_report, has_test_case("test_default_suite_example", has_parent_suite(anything()), # path to testdir has_suite("test_default_suite"), # created file name not_(has_sub_suite(anything())) ) )
def test_class_method_attachment(executed_docstring_source): """ >>> import allure >>> class TestClass(object): ... def test_class_method_attachment(self): ... allure.attach("text", "failed", allure.attachment_type.TEXT) """ assert_that(executed_docstring_source.allure_report, has_test_case("test_class_method_attachment", has_attachment(name="failed") ) )
def test_with_no_package(allured_testdir): """ >>> def test_package_less(request): ... pass """ allured_testdir.parse_docstring_source() allured_testdir.testdir.makeini("""[pytest]""") allured_testdir.run_with_allure(allured_testdir.testdir.tmpdir) assert_that(allured_testdir.allure_report, has_test_case("test_package_less", has_package("test_with_no_package")) )