1) make test-one TESTPATTERN=… – was kommt da rein?

Intern macht das Target:

pytest -vv -k "<DEIN PATTERN>" -o log_cli=true -o log_cli_level=DEBUG scripts/spreadsheet_handling/tests


-k ist ein Substring/Bool-Expression-Filter über Testnamen, -pfade und -ids. Du kannst z. B.:

Einen Datei-/Funktionsnamen-Teil:

make test-one TESTPATTERN=fk_multi_targets
make test-one TESTPATTERN=roundtrip_xlsx

Bool-Expression:

make test-one TESTPATTERN='fk and not mixed_types'


Exakten Node-ID Shortcut geht mit unserem Target nicht direkt, aber du kannst das so machen:

pytest scripts/spreadsheet_handling/tests/test_fk_helpers_pack.py::test_fk_helper_is_added_in_csv -vv -s


Komfort-Targets:

# 1 Datei
test-file:
	$(PYTEST) -vv -o log_cli=true -o log_cli_level=DEBUG $(FILE)

# 1 Node (Datei::Testname)
test-node:
	$(PYTEST) -vv -o log_cli=true -o log_cli_level=DEBUG $(NODE)


Nutzung:

make test-file FILE=scripts/spreadsheet_handling/tests/test_fk_helpers_pack.py
make test-node NODE='scripts/.../test_fk_helpers_pack.py::test_fk_helper_is_added_in_csv'

) Logging im Testbetrieb (Feintuning)

Für Debug-Runs:

# Inline:
pytest -vv -k fk --lf -o log_cli=true -o log_cli_level=DEBUG

# Oder via Make:
make test-lastfailed
make test-one TESTPATTERN=fk
make test-verbose


Und per Env steuern:

SHEETS_LOG=INFO make test


Damit bleibt Prod ruhig, Tests können gezielt lauter sein.
