conftest
সমাধান
সর্বনিম্ন আক্রমণাত্মক সমাধানটি ডিরেক্টরিতে নামের একটি খালি ফাইল যুক্ত conftest.py
করছে repo/
:
$ touch repo/conftest.py
এটাই. ম্যাংলিংয়ের জন্য কাস্টম কোড লেখার দরকার নেই sys.path
বা PYTHONPATH
ধরে টেনে আনতে বা __init__.py
এটি যেখানে নেই সেখানে ডায়ারে রেখে ।
প্রকল্পের ডিরেক্টরি পরে:
repo
├── conftest.py
├── app.py
├── settings.py
├── models.py
└── tests
└── test_app.py
ব্যাখ্যা
pytest
জন্য দেখায় conftest
পরীক্ষা সংগ্রহের মডিউল কাস্টম আঙ্গুলসমূহ এবং রাজধানী জড়ো করা, এবং যাতে তাদের থেকে কাস্টম বস্তু আমদানি করতে, pytest
অভিভাবক সংকলনে যোগ করা conftest.py
থেকেsys.path
(এই ক্ষেত্রে repo
ডিরেক্টরির)।
অন্যান্য প্রকল্প কাঠামো
আপনি অন্যান্য প্রকল্পের গঠন থাকে, তাহলে স্থান conftest.py
প্যাকেজ রুট দির (এক যে প্যাকেজ ধারণ করে কিন্তু একটি প্যাকেজ নিজেই নন, সুতরাং নেই না একটি ধারণ __init__.py
), উদাহরণস্বরূপ:
repo
├── conftest.py
├── spam
│ ├── __init__.py
│ ├── bacon.py
│ └── egg.py
├── eggs
│ ├── __init__.py
│ └── sausage.py
└── tests
├── test_bacon.py
└── test_egg.py
src
বিন্যাস
এই পদ্ধতির ব্যবহার করা যেতে পারে যদিও src
লেআউট (জায়গা conftest.py
মধ্যে src
Dir):
repo
├── src
│ ├── conftest.py
│ ├── spam
│ │ ├── __init__.py
│ │ ├── bacon.py
│ │ └── egg.py
│ └── eggs
│ ├── __init__.py
│ └── sausage.py
└── tests
├── test_bacon.py
└── test_egg.py
হুঁশিয়ার যোগ করেন যে src
করতে PYTHONPATH
হ্রাস অর্থ এবং সুবিধাগুলো src
বিন্যাস! আপনি ইনস্টল করা প্যাকেজটি নয়, সংগ্রহস্থল থেকে কোডটি পরীক্ষা করে শেষ করবেন। আপনার যদি এটি করার দরকার হয় তবে আপনার src
দির মোটেই প্রয়োজন নেই ।
এখান থেকে কোথায় যাব
অবশ্যই conftest
মডিউলগুলি সোর্স কোড আবিষ্কারে সহায়তা করার জন্য কিছু ফাইল নয়; pytest
ফ্রেমওয়ার্কের সমস্ত প্রকল্প-নির্দিষ্ট বর্ধন এবং আপনার পরীক্ষার স্যুটের কাস্টমাইজেশন ঘটে it's তাদের ডক্স জুড়ে ছড়িয়ে ছিটিয়ে থাকা মডিউলগুলির pytest
প্রচুর তথ্য রয়েছে ; দিয়ে শুরু : স্থানীয় প্রতি ডিরেক্টরি প্লাগইনconftest
conftest.py
এছাড়াও, conftest
মডিউলগুলির বিষয়ে এসওর একটি দুর্দান্ত প্রশ্ন রয়েছে : পাইস্টেস্টে, কনফেস্টে.পি ফাইলগুলির ব্যবহার কী?