كيفية جعل بلدي بيثون وحدة الاختبارات استيراد اختبار وحدات إذا كانوا في الشقيقة المجلدات ؟

StackOverflow https://stackoverflow.com/questions/2262546

سؤال

أنا لا يزال الحصول على رأسي .. import البيان.إذا كان لدي 2 مجلدات في نفس المستوى:

  1. src
  2. اختبار

كيفية جعل py الملفات في test استيراد وحدات في src?هل هناك حل أفضل (مثل وضع مجلد داخل آخر؟)

هل كانت مفيدة؟

المحلول

رمز تريده هو استخدام src/module_name.py

from src import module_name 

و الدليل الجذر على PYTHONPATH مثلايمكنك تشغيل من الدليل الجذر

بنية الدليل الخاص بك هو ما يمكنني استخدام ولكن woth اسم النموذج بدلا من src.حصلت على هذا الهيكل من ي Calderone بلوق وعلى غرار جوجل بلوق

نصائح أخرى

جرب هذا:

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

تحريرها لدعم أي منصة

لدي بالضبط نفس الحالة العملية مع كل الثعبان المشاريع أكتب:

  • مجلد المشروع
    1. src
    2. اختبار

جميع الوحدات سواء في src ، أو اختبار أو المجلدات الفرعية من هذه دائما استخدام شكل import أن مارك يظهر في جوابه:

from src import module_name

ما قمت به هو كتابة وحدة الذي يجلس في Project Folder و بشكل متكرر يكتشف جميع وحدات الاختبار في اختبار مجلد ويحصل unittest لتشغيل جميع تلك الاختبارات.كما بايثون يعمل في Project Folder, ثم الوحدات النسبية إلى دليل العمل.

وهذا يعني أن الاختبارات هي تماما مثل أي عميل آخر يريد أن وحدات من src.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top