TestTaskComplete: 6 test rossi dopo la camera di stazione (#72) #79
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
RIF: gitea:Adriano/TieMeasureFlow V3.0.0
cd40b81COSA: src/frontend/flask_app/tests/test_measure.py::TestTaskComplete, 6 test rossi deterministici, anche da soli: AttributeError 'NoneType' object has no attribute 'get' in src/frontend/flask_app/blueprints/measure.py:416 (meas_resp.get). PRESUNTO: il commit
192d4b5(#72) aggiunge in task_complete una chiamata api_client.get_station_by_code (_station_camera) che consuma una risposta dei mock in sequenza dei test, e meas_resp arriva None.PROVA: pytest src/frontend/flask_app/tests/test_measure.py -k TestTaskComplete (Python 3.13, daitarn, albero
cd40b81senza modifiche al frontend) -> 6 failed, 34 deselectedPROSSIMO: verificare la presunzione, poi correggere i mock dei test oppure il codice se il difetto è vero a runtime.
🔵 daitarn — preso in carico 2026-10-17T12:08:08Z
ramo:
lavoro/daitarn· capacità: build-windows, gpuANALISI (passo 1, Opus 5.5) — causa diversa da quella presunta: non
192d4b5, ma stato che fuga fra i test.COSA: test frontend dipendenti dall'ordine. src/frontend/flask_app/tests/test_measure.py (righe 15-20, 50-55, 82-87) fa monkeypatch.setenv("STATION_CODE","ST-TEST") + importlib.reload(config) + importlib.reload(blueprints.measure). Al teardown monkeypatch toglie la variabile ma i moduli ricaricati restano con Config.STATION_CODE="ST-TEST".
EFFETTO:
VERIFICATO: pytest TestTaskComplete da solo -> 6 failed; con STATION_CODE=ST-TEST -> 6 passed; test_measure.py intero -> 40 passed; suite -n 8 sul ramo integrato (V3.0.0
0e92959) -> questi 7 rossi.MODIFICHE:
TEST:
NON TOCCARE: src/frontend/flask_app/blueprints/, services/, config.py, templates/, static/, src/backend/, packaging/.
Soluzione
ESITO: fatto
CAUSA: non
192d4b5ma STATION_CODE che fuggiva fra i test: setenv + importlib.reload(config/blueprints.measure) lasciava Config.STATION_CODE=ST-TEST dopo il teardown; l'esito dipendeva dall'ordine (xdist).FILE: src/frontend/flask_app/tests/test_measure.py — TestSelectRecipe usa monkeypatch.setattr(blueprints.measure.Config.STATION_CODE) al posto del reload; TestTaskComplete fixture autouse _station=ST-TEST. src/frontend/flask_app/tests/test_recipe_rules_ui.py — fixture autouse _no_station=None, test_selection_screen_carries_the_traceability_rules senza reload.
COMMIT:
f33415d(lavoro/daitarn-tmf-79), merge15e31e2in V3.0.0.PROVA: ramo integrato V3.0.0
d652891su daitarn, Python 3.13: pytest -n 8 src/backend/tests src/frontend/flask_app/tests packaging/windows/tests -> 911 passed, 4 skipped, 0 failed. Tag v3.0.0-rc2.MANCA: setenv+reload restano in test_admin_user_pin.py:98, test_config_station.py, test_csrf_errorhandler.py:15, test_measure_production.py:17; oggi non rompono nulla (suite verde), da sistemare se ricompare un test dipendente dall'ordine.