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!!