Repository navigation
fixtures do not record dependencies on other fixtures #929
Copy link
Copy link
Open
Labels
Description
Example:
import pytest
import allure
def func(n):
return n**2
@pytest.fixture()
def input_data():
with allure.step("Prepare input data"):
data = 5
return data
@pytest.fixture()
def compute_job(input_data):
with allure.step("Compute result"):
result = func(input_data)
return result
def test(compute_job):
with allure.step("Verify result"):
assert compute_job == 25In this case, allure output json files contain no information that allows to deduce that the compute_job fixture depends on the input_data fixture.
Since they are fast, time ordering is not possible in most cases, since times are only recorded as integer seconds.
The allure report then shows the two fixtures in the wrong order:
Output json files:
Details
allure/404698a7-6d47-46ee-951e-f1370a8ae247-container.json
{
"uuid": "a00b000b-e3bf-4599-b1fe-f99a4d9265fb",
"children": [
"cb8afcb4-86c9-4ec5-b7c1-def3c168afde"
],
"befores": [
{
"name": "compute_job",
"status": "passed",
"steps": [
{
"name": "Compute result",
"status": "passed",
"start": 1791292365354,
"stop": 1791292365354
}
],
"start": 1791292365354,
"stop": 1791292365354
}
],
"afters": [
{
"name": "compute_job::<lambda>",
"start": 1791292365355
}
],
"start": 1791292365354,
"stop": 1791292365355
}allure/b068721b-3ae1-4959-9376-e840e763dbee-container.json
{
"uuid": "76f7b786-56ff-4b9b-9931-98c632f44c92",
"children": [
"cb8afcb4-86c9-4ec5-b7c1-def3c168afde"
],
"befores": [
{
"name": "input_data",
"status": "passed",
"steps": [
{
"name": "Prepare input data",
"status": "passed",
"start": 1791292365354,
"stop": 1791292365354
}
],
"start": 1791292365354,
"stop": 1791292365354
}
],
"afters": [
{
"name": "input_data::<lambda>",
"start": 1791292365355
}
],
"start": 1791292365354,
"stop": 1791292365355
}allure/a16a30e1-80d0-4a0e-8dda-54c1cbbb5157-result.json
{
"name": "test",
"status": "passed",
"steps": [
{
"name": "Verify result",
"status": "passed",
"start": 1791292365355,
"stop": 1791292365355
}
],
"start": 1791292365355,
"stop": 1791292365355,
"uuid": "cb8afcb4-86c9-4ec5-b7c1-def3c168afde",
"historyId": "761acda85279d873545739563f5f4cb2",
"testCaseId": "761acda85279d873545739563f5f4cb2",
"fullName": "test_example#test",
"labels": [
{
"name": "suite",
"value": "test_example"
},
{
"name": "host",
"value": "max-desktop"
},
{
"name": "thread",
"value": "980504-MainThread"
},
{
"name": "framework",
"value": "pytest"
},
{
"name": "language",
"value": "cpython3"
},
{
"name": "package",
"value": "test_example"
}
],
"titlePath": [
"test_example.py"
]
}Reactions are currently unavailable
Activity