pytest-সময়সীমার একটি নির্দিষ্ট সময়সীমার পর পরীক্ষা বিনষ্ট হবে, যা py.test জন্য একটি প্লাগ হয়. & Nbsp; যখন করছেন যাতে আপনি সময় চলমান সকল লিপি একটি স্ট্যাক ডাম্প পেতে হবে. এই দরকারী যখন যেমন হয় একটি ধারাবাহিক ইন্টিগ্রেশন (ci) সার্ভার অধীনে পরীক্ষা চলমান.
ব্যবহারের
এর মাধ্যমে ইনস্টল করুন:
pytest-সময়সীমার ইনস্টল পিপ
এবং তারপর হয় কমান্ড লাইন থেকে, প্লাগইন সক্রিয় করা হয়:
py.test -p সময়সীমার
বা আরো সুবিধামত পরীক্ষা মডিউল অথবা conftest.py মধ্যে থেকে:
pytest_plugins = 'সময়সীমার'
আপনি সেকেন্ডের মধ্যে সময়সীমার সেট করে, যা --timeout পরামিতি ব্যবহার সময়সীমার পরিবর্তন করতে পারেন.
কিভাবে কাজ করে
এই প্লাগ দুটি পদ্ধতির মাধ্যমে কাজ করে. সিস্টেম SIGALRM সংকেত সমর্থন করে এলার্ম যখন পরীক্ষা শুরু হয় নির্ধারিত করা হবে এবং এটি শেষ যখন বাতিল করা হয়. এলার্ম পরীক্ষার সময় মেয়াদ শেষ হলে সংকেত হ্যান্ডলার দ্বারা stderr চলমান অন্য কোন থ্রেডের স্ট্যাক ডাম্প থাকার পর পরীক্ষা ছিন্ন করা pytest.fail () ব্যবহার করা হবে.
সিস্টেম SIGALRM সমর্থন করে না বা --nosigalrm বিকল্প ব্যবহার করা হয়েছিল, তাহলে একটি টাইমার থ্রেড পরিবর্তে ব্যবহার করা হবে. এটা os._exit ব্যবহার করে সম্পূর্ণ py.test প্রক্রিয়া সসীম আগে stderr থেকে সকল লিপি স্ট্যাক ডাম্প হবে মেয়াদ শেষ করার আগে এই টাইমার বাতিল না করা হয়, আরো একবার (1).
SIGALRM পদ্ধতি এর downside সংকেত পরীক্ষা কাঠামো দ্বারা ব্যবহার করা হয়. এই সংকেত পরীক্ষা অধীনে কোড ব্যবহৃত হয় যদি আপনি --nosigalrm অপশনটি ব্যবহার করার প্রয়োজন হবে. টাইমার থ্রেড সীমাবদ্ধতা তবে প্রতিটি মৃত্যুদন্ড কার্যকর পরীক্ষা এবং এক সময়সীমার পর সমগ্র প্রক্রিয়া বন্ধ করা হয় এবং কোন অতিরিক্ত পরীক্ষা মৃত্যুদন্ড কার্যকর করা হয় যে জন্য একটি থ্রেড তৈরি অতিরিক্ত উপরি হয়.
কি নতুন এই রিলিজে :.
- সময়সীমার উল্লেখ একটি উপায় হিসেবে PYTEST_TIMEOUT এনভায়রনমেন্ট ভেরিয়েবল যোগ করা হয়েছে (বিষয়ে # বন্ধ 2)
- আরো নমনীয় মার্কার যুক্তি পার্সিং. আপনি এখন একটি অবস্থানগত যুক্তি ব্যবহার করে পদ্ধতি নির্দিষ্ট করতে পারেন
- প্লাগিন এখন ডিফল্টরূপে সক্রিয় করা হয়. একটি চিহ্নিতকারী কাজ করবে কেবল যাতে কনফিগারেশন ফাইলের মধ্যে বা কমান্ড লাইন সময়সীমার = 0 উল্লেখ করা প্রয়োজন আর নেই.
সংস্করণ 0.2 নতুন কি
- pytest ব্যবহার করে সময়সীমার বিলম্ব পরিবর্তন করতে একটি চিহ্নিতকারী যোগ করুন .timeout (এন) বাক্য গঠন, প্রাথমিক কোড Laurant পারতাম, ধন্যবাদ.
- সময়সীমার মার্কার পদ্ধতি শব্দ যুক্তি ব্যবহার করে সময়সীমার পদ্ধতি নির্বাচন করার অনুমতি দিন.
- eventlet এবং gevent জন্য ভবিষ্যতে প্রমাণ সমর্থন = থ্রেড --method করতে --nosigalrm বিকল্প পুনঃনামকরণ. ইঙ্গিতটি জন্য রনি Pfannschmidt ধন্যবাদ.
- কনফিগারেশন ফাইলের সময়সীমার এবং timeout_method আইটেম যোগ করুন. ইঙ্গিত জন্য Holger Krekel এবং Ronny Pfannschmidt ধন্যবাদ.
- পাইথন 2.6, 2.7 এবং 3.2 জন্য পরীক্ষিত (এবং সংশোধন করা হয়েছে).
আপনি সক্রিয় এবং ini ফাইল ব্যবহার করে প্লাগইন কনফিগার করতে পারেন, তাই
আবশ্যক
- পাইথন
- py.test
পাওয়া মন্তব্যসমূহ না