АК
Size: a a a
АК
BS
BS
pytest?АК
BS
Suite(например) с синглтоном под капотом, фикстура поднимающая инстанс перед сессией, все остальные фикстуры будут общаться с этим инстансом. Таким образом мы получим то, что хотели, но механизм пишем сами) Типо того:async def send_request(data, method):
url = Suite().testing_service_base_url
# do some trash
АК
Session() и посоздавать фикстуры с разными base_url и базовыми хедерами/параметрами при необходимостиservice_name.get(‘/endpoint’) вместо requests.get(‘https://base_url/endpoint’)BS
АК
your_service.post(), your_service.get()АК
def test(your_service):АК
СС
АК
СС
АК
BS
import inspect
def get_fixture_by_name(name: str):
for frame in inspect.stack():
if frame.function.startswith('test_'):
if name in frame[0].f_locals:
return frame[0].f_locals[name]
else:
raise UserWarning(
f'{frame.function} has no argument named {name}')
raise UserWarning('No one test-case found in stack')
def some_shit_without_fixture_passing():
service = get_fixture_by_name('service')
# do it
T
T
BS
T
T