নির্দিষ্ট ডিরেক্টরি বাদ দিতে কীভাবে py.est বলবেন?


91

আমি norecursedirsপাইপস্টেস্টকে নির্দিষ্ট ডিরেক্টরি থেকে পরীক্ষা সংগ্রহ না করার জন্য সেটআপ.সিফগির অভ্যন্তরীন বিকল্পটি ব্যবহার করার চেষ্টা করেছি তবে মনে হয় এটি এড়ানো হবে না।

[tool:pytest]
norecursedirs=lib/third

আমি যখন দৌড়ে py.testযাই তখন দেখি কীভাবে এটি ভেতর থেকে পরীক্ষা দেয় lib/third!


দেখে মনে হচ্ছে আমার py.testএবং pytestতাদের দু'জনেরই পরীক্ষা চলছে এবং বিভিন্ন জন্তু হচ্ছে। অদ্ভুত তবে pytestব্যর্থতা কারণ এটি থেকে বাদ পড়েনি [pytest]
সোমিন

4
pytestলগিলাব থেকে। আপনি চান py.test
ইকত্মুর

4
এছাড়াও করছেন চেষ্টাnosecuredirs=lib/third/*
intelis

কোডের সাথে স্ক্রিপ্টে কিছু ফোল্ডার উপেক্ষা করার কোনও উপায় আছে কি?
বাইসপজাই

4
এখানেই শেষ হয়েছিল কারণ আমি কৌতূহল ছিলাম কেন স্থানীয় বিকাশে আমার ওয়েব অ্যাপ্লিকেশনটির পাইপটি এত চূড়ান্তভাবে ধীরে ধীরে ... কারণটি হ'ল নেস্টেড ইয়াই / ডিডি / মিমি কাঠামোর সাথে কিছু আপলোড করা সংস্থান ডিরেক্টরি .... যার ফলে এটি ব্যর্থ হয়ে যায়! সৌভাগ্যক্রমে [pytest] norecursedirs = resourcesমধ্যে pytest.iniএকটি কৌতুক আছে 💪!
andilabs

উত্তর:


85

py.test --ignore=somedir আমার জন্য কাজ


4
এবং --ignoreএকাধিক ডিরেক্টরি উপেক্ষা করার জন্য একাধিকবার নির্দিষ্ট করা যেতে পারে
ফিনিক্স

ডিরেক্টরি পরিবর্তে নির্দিষ্ট পরীক্ষাগুলি কীভাবে
এড়ানো যায়

-kনীচের শোতে অন্য উত্তর হিসাবে আপনি বিকল্পটি ব্যবহার করতে পারেন । ডকস.পেস্টেস্ট.আর.ইন / স্লেস্ট/… এ "কীওয়ার্ড এক্সপ্রেশন দিয়ে পরীক্ষা চালান" দেখুন । চিহ্নগুলি এখানেও সহায়ক হতে পারে। আপনার পরীক্ষাগুলিকে "ধীর" ইত্যাদি হিসাবে চিহ্নিত করুন এবং তারপরে ব্যবহার করুন-k "not slow"
শেডএফসি

ইউনিক্স শেল-স্টাইল ওয়াইল্ডকার্ডের উপর ভিত্তি করে পরীক্ষার ফাইলের পাথগুলিকে উপেক্ষা করার জন্য এটি ব্যবহার--ignore-glob করাও সম্ভব । যেমন --ignore-glob=**/sandbox/*যে কোনও sandboxফোল্ডারে সমস্ত ফাইল উপেক্ষা করবে ignore
জানুয়ারী এম

28

বিভিন্ন পিতা-মাতার সাথে আপনার যদি বেশ কয়েকটি ডিরেক্টরি থাকে তবে আপনি বিভিন্ন --ignoreপরামিতি নির্দিষ্ট করতে পারেন :

py.test --ignore=somedir --ignore=otherdir --ignore=etcdir

  • নতুন বিকল্প: --ignore নির্দিষ্ট পথ সংগ্রহ থেকে আটকাবে।
    একাধিকবার নির্দিষ্ট করা যায়।

23

আমি রহস্য সমাধান: একটি pytest অধ্যায় সম্ভব কনফিগ ফাইলের এক (পাওয়া যায় তাহলে pytest.ini, tox.iniএবংsetup.cfg ) পাইস্ট অন্য কারও সন্ধান করবে না তাই নিশ্চিত হয়ে নিন যে আপনি একক ফাইলে পাইস্টেস্ট বিকল্পগুলি সংজ্ঞায়িত করেছেন।

আমি ব্যবহার করার পরামর্শ দিতে হবে setup.cfg


8
কেন setup.cfg? বর্তমান ডকুমেন্টেশনটি অন্য দুটি
জেবব

আমি মনে করি এটি উল্লেখ করা গুরুত্বপূর্ণ যে আপনি যদি কোনও .iniফাইল ব্যবহার করতে চান তবে আপনাকে অবশ্যই এটি নির্দিষ্ট করতে হবে pytest -c pytest.ini। কোনও কারণে setup.cfgসামগ্রীগুলি স্বয়ংক্রিয়ভাবে নেওয়া হয়েছিল।
থাইরাইটসুফ


11

norecursedirsকাজ করা উচিত. আপনার কাছে পাইস্টেস্ট.এনআই বা অন্য সেটআপ.সি.পি.জি. ফাইল রয়েছে কিনা তা পরীক্ষা করে দেখুন। কেমন আছো py.test?


4
আমার ভিতরে setup.cfgসঠিক [pytest]এবং নোরকার্সডির রয়েছে তবে এটি এড়ানো হবে বলে মনে হচ্ছে এবং পরিবর্তে এটি সমস্ত ফাইল সন্ধান করবে।
সোরিন

8

আমার ক্ষেত্রে, বিষয়টি হ'ল ওয়াইল্ডকার্ড। নিম্নলিখিতটি আমার পক্ষে কাজ করে:

[tool:pytest]
norecursedirs = subpath/*

যদিও ঠিক norecursedirs = subpathহয়নি।


একই অবস্থা. খুব অদ্ভুত আচরণ যদিও।
আজমেউক

3

আপনি যদি setup.cfg ব্যবহার করে থাকেন তবে আপনাকে http://doc.pytest.org/en/latest/example/pythoncollection.html[tool:pytest] হিসাবে ব্যবহার করতে হবে

পাইস্টেটি.এনআই
# এর # বিষয়বস্তুও tox.ini বা setup.cfg ফাইলে সংজ্ঞায়িত করা যেতে পারে, যদিও setup.cfg ফাইলে
# বিভাগের নামটি "সরঞ্জাম: পাইস্টেস্ট" হওয়া উচিত


0

ব্যবহার করতে pytest.ini(যা সুপারিশ করা হয়, যদি না আপনি ব্যবহার করছেন toxযে ক্ষেত্রে tox.iniজানার জন্য হবে), কল pytestসঙ্গে pytest -c pytest.ini

অর্ডার আমার নমুনা প্রতিরোধ করার জন্য not_me_1.pyএবং not_me_2.pyথেকে পরীক্ষিত বা linted হচ্ছে, আমার pytest.iniনিম্নরূপ:

[pytest]
addopts = --ignore-glob=not_me_*

[pycodestyle]
ignore = not_me_* ALL

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.