Właśnie skończyłem pisać rdzenną część projektu, nad którym pracuję i chcę napisać test na to używając unittest zanim przejdę dalej. Jestem świadomy, że powinienem był to zrobić wcześniej, ale kiedy zaczynałem, nie znałem Pythona, więc ... cokolwiek ..Jak importować moduł z katalogu nadrzędnego? (unittest purposes)
Co chciałbym osiągnąć: Mam podpakiet pakietu głównego, który zawiera wszystkie moduły, które chcę przetestować w środku. Chcę umieścić sububackage w tym, co nazywa się "testami" lub czymś, co zawiera wszystkie moje przypadki testowe, które chciałbym móc zebrać w zestawie testowym poza pakietem, więc w końcu mogę przeprowadzić cały test dla cały projekt za jednym razem.
struktura jest mniej więcej tak:
/projectPackage
/projectPackage/package
/projectPackage/package/\__init__.py (empty)
/projectPackage/package/someModule.py
/projectPackage/package/... (more modules)
/projectPackage/package/testing.py (runs all the tests in /tests/)
/projectPackage/package/tests
/projectPackage/package/tests/\__init__.py (empty)
/projectPackage/package/tests/someModuleTests.py
Problem mam:
someModuleTests musi importować someModule z pakietu nadrzędnego więc może testować swoje metody. To chyba nie działa. Otrzymuję różne błędy, takie jak:
Attempted relative import beyond toplevel package
W każdym razie, oczekuję, że to tylko dlatego, że jestem noob Python! Mam własne pomysły na to, jak mam to zrobić w tym projekcie, ponieważ oczywiście każdy jest inny, ale wszelkie ogólne porady dotyczące struktury średnich i dużych projektów Pythona są również mile widziane.
Ok wielkie, dzięki. Chciałbym przegłosować, ale nie mam wystarczającej reputacji: S –
Nie ma problemu, możesz wybrać moją przeszłość jako odpowiedź, jeśli wystarczająco ci się podoba :-) – ikanobori