Как мне импортировать модуль из родительского каталога? (для целей unittest)

Я только что закончил писать основной раздел проекта, над которым я работаю, и я хочу написать для него тест, используя 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.

12
задан Max Spencer 3 August 2011 в 10:27
поделиться