Как сделать мои модульные тесты Python для импорта протестированных модулей, если они находятся в родственных папках?

Я все еще получаю голову вокруг import оператор. Если у меня есть 2 папки на том же уровне:

  1. src
  2. тест

Как сделать py файлы в test импортируйте модули в src? Существует ли лучшее решение (как помещенный папка в другом?)

16
задан Jader Dias 14 February 2010 в 20:03
поделиться

3 ответа

Вам нужен код для использования src / module_name.py

from src import module_name 

и корневого каталога находится на вашем PYTHONPATH, например вы запускаете из корневого каталога

Я использую вашу структуру каталогов, но имя модели вместо src. Я получил эту структуру из блога Дж. Кальдерона и похожую на блог Google

9
ответ дан 30 November 2019 в 22:49
поделиться

Попробуйте это:

import sys
import os
sys.path.append(os.path.join('..', 'src'))
import module_in_src_folder

отредактировано для поддержки любой платформы

6
ответ дан 30 November 2019 в 22:49
поделиться

У меня точно такая же ситуация, как и с OP, со всеми проектами Python, которые я пишу:

  • Папка проекта
    1. src
    2. test

Все модули, будь то в src, test или их подпапках, всегда используют форму import , которую Марк показывает в своем ответе:

from src import module_name

Что у меня есть Готово - это написать модуль, который находится в папке проекта и рекурсивно обнаруживает все тестовые модули в тестовой папке и заставляет unittest запускать все эти тесты. Поскольку python запущен в папке проекта , модули относятся к рабочему каталогу.

Это означает, что тесты такие же, как и любой другой клиент, которому нужны модули из src .

0
ответ дан 30 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: