Best Python code snippet using pytest-bdd_python
test_steps.py
Source:test_steps.py  
...99        @when('foo')100        def foo():101            return 'foo'102        @scenario('test.feature', 'When step validation error happens')103        def test_when_step_validation_error():104            pass105    """)106    reprec = testdir.inline_run("-k test_when_fails")107    assert reprec.ret == 1108    calls = reprec.getcalls("pytest_bdd_before_scenario")109    assert calls[0].request110    calls = reprec.getcalls("pytest_bdd_after_scenario")111    assert calls[0].request112    calls = reprec.getcalls("pytest_bdd_before_step")113    assert calls[0].request114    calls = reprec.getcalls("pytest_bdd_before_step_call")115    assert calls[0].request116    calls = reprec.getcalls("pytest_bdd_after_step")117    assert calls[0].request118    calls = reprec.getcalls("pytest_bdd_step_error")119    assert calls[0].request120    reprec = testdir.inline_run("-k test_when_not_found")121    assert reprec.ret == 1122    calls = reprec.getcalls("pytest_bdd_step_func_lookup_error")123    assert calls[0].request124    reprec = testdir.inline_run("-k test_when_step_validation_error")125    assert reprec.ret == 1126    reprec = testdir.inline_run("-k test_when_dependency_fails", '-vv')127    assert reprec.ret == 1128    calls = reprec.getcalls("pytest_bdd_before_step")129    assert len(calls) == 2130    calls = reprec.getcalls("pytest_bdd_before_step_call")131    assert len(calls) == 1132    calls = reprec.getcalls("pytest_bdd_step_error")133    assert calls[0].request134def test_step_trace(testdir):135    """Test step trace."""136    testdir.makefile('.feature', test="""137    Scenario: When step has failure138        Given I have a bar139        When it fails140    Scenario: When step is not found141        Given not found142    Scenario: When step validation error happens143        Given foo144        And foo145    """)146    testdir.makepyfile("""147        import pytest148        from pytest_bdd import given, when, scenario149        @given('I have a bar')150        def i_have_bar():151            return 'bar'152        @when('it fails')153        def when_it_fails():154            raise Exception('when fails')155        @scenario('test.feature', 'When step has failure')156        def test_when_fails_inline():157            pass158        @scenario('test.feature', 'When step has failure')159        def test_when_fails_decorated():160            pass161        @scenario('test.feature', 'When step is not found')162        def test_when_not_found():163            pass164        @when('foo')165        def foo():166            return 'foo'167        @scenario('test.feature', 'When step validation error happens')168        def test_when_step_validation_error():169            pass170    """)171    result = testdir.runpytest('-k test_when_fails_inline', '-vv')172    assert result.ret == 1173    result.stdout.fnmatch_lines(['*test_when_fails_inline FAILED'])174    assert 'INTERNALERROR' not in result.stdout.str()175    result = testdir.runpytest('-k test_when_fails_decorated', '-vv')176    assert result.ret == 1177    result.stdout.fnmatch_lines(['*test_when_fails_decorated FAILED'])178    assert 'INTERNALERROR' not in result.stdout.str()179    result = testdir.runpytest('-k test_when_not_found', '-vv')180    assert result.ret == 1181    result.stdout.fnmatch_lines(['*test_when_not_found FAILED'])182    assert 'INTERNALERROR' not in result.stdout.str()...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
