[Python-de] Projekt Layout: tests bei mehreren Import Packag es

[email protected] Fri, 16 Dec 2022 09:19:54 +0000
Newsgroups gmane.comp.python.general.german
Message-ID <[email protected]>
Hallo,

ich habe hier [1] ein "Distribution Package" mit zwei "Import Packages" 
und das ganze im "src-Layout" angelegt.
Das geht so weit ganz prima. Wenn ich "bit_demo" (bzw. "bitdemo") per 
pip installiere, kann ich danach "import bitcli" und "import bitgui" 
machen.

Die tests möchte ich zwischen unit- und integration tests unterscheiden, 
wie man an der Ordner-Struktur hier schon sehen kann. Abgesehen von der 
Übersichtlichkeit, bin ich der Ansicht, dass coverage Auswertungen nur 
mit Unittests gemacht werden sollten.
Aber wie strukturiert man die test-Ordner am sinnvollsten, um die 
Trennung zwischen den beiden Paketen "bitcli" und "bitgui" darzustellen.

Gibt es hier eurerseits schon Erfahrungen und/oder Empfehlungen?

bit_demo
├── pyproject.toml
├── src
│   ├── bitcli
│   │   ├── __init__.py
│   │   └── __main__.py
│   └── bitgui
│       ├── __init__.py
│       └── __main__.py
└── tests
     ├── integration
     └── unit


Eine nahliegende Variante wäre

tests
├── bitcli
│   ├── integration
│   └── unit
└── bitgui
     ├── integration
     └── unit

Eine weitere

bit_demo
├── pyproject.toml
├── src
├── tests_cli
│   ├── integration
│   └── unit
└── tests_gui
     ├── integration
     └── unit

Wenn ich so laut nachdenke, könnte ich auch sagen, dass bei den 
Integrationstests ja meistens (aber nicht immer) beide Pakete (bitgui & 
bitcli) beteiligt sind und daher eine Trennung nicht wirklich nötig 
wäre; nur bei den unittests.
Einfach so?

tests
├── integration
├── unit_cli
└── unit_gui

Was ist eure Meinung dazu?

[1] -- <https://codeberg.org/buhtz/bit_demo>
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]