Я только что закончил писать основной раздел проекта, над которым я работаю, и я хочу написать тест для него, используя unittest, прежде чем продолжить. Я знаю, что должен был сделать это раньше, но когда я начал, я не знал Python, так что ... что угодно ...
Чего я хотел бы достичь: у меня есть подпакет основного пакета, который содержит все модули, которые я хочу протестировать внутри него. Я хочу поместить подпакет внутри, который называется «тесты», или что-то, что затем содержит все мои тесты, которые я хотел бы объединить в набор тестов вне пакета, чтобы в конечном итоге я мог выполнить весь тест для весь проект за один раз.
Структура примерно такая:
/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
У меня проблема:
someModuleTests должен импортировать someModule из родительского пакета, чтобы он мог протестировать свои методы. Это не похоже на работу. Я получаю различные ошибки, такие как:
Attempted relative import beyond toplevel package
Во всяком случае, я ожидаю, что это только потому, что я нуб Python! У меня есть свои собственные идеи о том, как я собираюсь сделать это для этого проекта, потому что, конечно, каждый из них отличается, но любые общие советы по структурированию средних и больших проектов на Python также приветствуются.