This is tests/test_function.py
import pytest
@pytest.mark.asyncio
@pytest.mark.parametrize("test_input", [1])
async def test_random_number(session_setup, random_number, test_input):
number = await random_number
print(f"PRINTING X: {session_setup}") # Directly use the value from session_setup
assert isinstance(number, int)
assert 1 <= number <= 100
@pytest.mark.asyncio
async def test_multiply_random(session_setup, random_number):
number = await random_number
print(f"PRINTING X: {session_setup}") # Directly use the value from session_setup
result = number * 10
assert isinstance(result, int)
assert 10 <= result <= 1000
This is tests/conftest.py
import pytest
import sys
@pytest.fixture(scope="session")
async def session_setup():
# Any setup code that needs to run once before the test session
sys.stdout.flush()
print("Setting up test session...asdfjasdlkfajdsflkasdjflasdkjfadslkfjasdlkfajsdflkasjdfkadsljfalskdjafsdklfjasdlkfjasdlkfjasdlkfjasdlfkadsjflaskdjflakfjsdlkfjasdlkfasdjflk")
sys.stdout.flush()
return 1
# Any teardown code that needs to run once after the test session
sys.stdout.flush()
print("Tearing down test session...")
sys.stdout.flush()
@pytest.fixture(scope="function")
async def random_number():
import random
return random.randint(1, 100)
Writing more below on how I need help