পাইথন ইউনিট টেস্ট রেজাল্ট পার্সার
public class PythonUnitTestResultParser
extends MultiLineReceiver
| java.lang.Object | ||
| ↳ | com.android.ddmlib.MultiLineReceiver | |
| ↳ | com.android.tradefed.testtype.PythonUnitTestResultParser | |
পাইথনের unittest ফ্রেমওয়ার্ক দিয়ে চালানো টেস্টগুলোর আউটপুট বিশ্লেষণ করে এবং সেটিকে একাধিক ITestInvocationListener এর কলে রূপান্তরিত করে। এই টেস্টগুলোর আউটপুট নিম্নলিখিত EBNF ব্যাকরণ অনুসরণ করে:
টেস্টরিপোর্ট ::= পরীক্ষার ফলাফল* লাইন টাইমমেট্রিক [ফেলমেসেজ*] স্ট্যাটাস। পরীক্ষার ফলাফল ::= স্ট্রিং \u201c(\u201cস্ট্রিং\u201d)\u201d \u201c\u2026\u201d একক অবস্থা। FailMessage ::= EqLine \u201cERROR:\u201d স্ট্রিং \u201c(\u201cstring\u201d)\u201d লাইন ট্রেসব্যাক লাইন। একক অবস্থা ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= \u201cRan\u201d পূর্ণসংখ্যা \u201d ফ্লোটে পরীক্ষা করে \u201ds\u201d। স্থিতি ::= \u201cঠিক\u201d | “ব্যর্থ (ত্রুটিসমূহ=‘পূর্ণসংখ্যা’)”। ট্রেসব্যাক ::= স্ট্রিং+।
উদাহরণ আউটপুট (সফল): test_size (test_rangelib.RangeSetTest) ... ok test_str (test_rangelib.RangeSetTest) ... ok test_subtract (test_rangelib.RangeSetTest) ... ok test_to_string_raw (test_rangelib.RangeSetTest) ... ok test_union (test_rangelib.RangeSetTest) ... ok
০.০০২ সেকেন্ডে ৫টি পরীক্ষা সম্পন্ন হয়েছে।
ঠিক আছে
উদাহরণ আউটপুট (ব্যর্থ) test_size (test_rangelib.RangeSetTest) ... ERROR
====================================================================== ত্রুটি: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- ট্রেসব্যাক (সর্বশেষ কল): ফাইল "test_rangelib.py", লাইন ১২৯, test_rangelib-এ raise ValueError() ValueError ---------------------------------------------------------------------- ১টি পরীক্ষা ০.০০১ সেকেন্ডে সম্পন্ন হয়েছে ব্যর্থ (ত্রুটি=১)
কয়েকটি এজ কেস (ব্যর্থ) সহ উদাহরণ আউটপুট: testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... প্রত্যাশিত ব্যর্থতা testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... 'reason foo' এর জন্য স্কিপ করা হয়েছে testUnexpectedSuccess (foo.testFoo) ... অপ্রত্যাশিত সাফল্য
====================================================================== ত্রুটি: testError (foo.testFoo) ---------------------------------------------------------------------- ট্রেসব্যাক (সর্বশেষ কল): ফাইল "foo.py", লাইন 11, testError ফাংশনে self.assertEqual(2+2, 5/0) ZeroDivisionError: শূন্য দ্বারা পূর্ণসংখ্যা ভাগ বা মডুলো
====================================================================== ব্যর্থ: testFail (foo.testFoo) ---------------------------------------------------------------------- ট্রেসব্যাক (সর্বশেষ কল): ফাইল "foo.py", লাইন 8, testFail এ self.assertEqual(2+2, 5) AssertionError: 4 != 5
====================================================================== ব্যর্থ: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- ট্রেসব্যাক (সর্বশেষ কল): ফাইল "foo.py", লাইন 31, testFailWithDocString-এ self.assertEqual(2+2, 5) AssertionError: 4 != 5
০.০০১ সেকেন্ডে ৮টি পরীক্ষা সম্পন্ন হয়েছে।
ব্যর্থ (ব্যর্থতা=২, ত্রুটি=১, বাদ দেওয়া হয়েছে=১, প্রত্যাশিত ব্যর্থতা=১, অপ্রত্যাশিত সাফল্য=১)
করণীয়: পুরো ক্লাসটি রিফ্যাক্টর করার কথা বিবেচনা করুন, বর্তমানে এর হ্যান্ডলিং বেশ অগোছালো।
সারসংক্ষেপ
সরকারি নির্মাণকারী | |
|---|---|
PythonUnitTestResultParser ( ITestInvocationListener listener, String runName) একটি নতুন | |
PythonUnitTestResultParser (Collection< ITestInvocationListener > listeners, String runName) একটি নতুন | |
PythonUnitTestResultParser (Collection< ITestInvocationListener > listeners, String runName, Set<String> includeFilters, Set<String> excludeFilters) একটি নতুন | |
জনসাধারণের পদ্ধতি | |
|---|---|
void | finalizeParser () |
boolean | isCancelled () |
void | processNewLines (String[] lines)পাইথন ইউনিটটেস্টের আউটপুট প্রসেস করুন এবং পার্স করা ফলাফল রিপোর্ট করুন। |
void | setFinalizeWhenParsing (boolean shouldFinalize) |
সরকারি নির্মাণকারী
পাইথন ইউনিট টেস্ট রেজাল্ট পার্সার
public PythonUnitTestResultParser (ITestInvocationListener listener, String runName)
একটি নতুন PythonUnitTestResultParser তৈরি করুন যা প্রদত্ত ITestInvocationListener এ রিপোর্ট করে।
| প্যারামিটার | |
|---|---|
listener | ITestInvocationListener |
runName | String |
পাইথন ইউনিট টেস্ট রেজাল্ট পার্সার
public PythonUnitTestResultParser (Collection<ITestInvocationListener> listeners, String runName)
একটি নতুন PythonUnitTestResultParser তৈরি করুন যা প্রদত্ত ITestInvocationListener গুলিতে রিপোর্ট পাঠাবে।
| প্যারামিটার | |
|---|---|
listeners | Collection |
runName | String |
পাইথন ইউনিট টেস্ট রেজাল্ট পার্সার
public PythonUnitTestResultParser (Collection<ITestInvocationListener> listeners, String runName, Set<String> includeFilters, Set<String> excludeFilters)
একটি নতুন PythonUnitTestResultParser তৈরি করুন যা নির্দিষ্ট অন্তর্ভুক্ত এবং বর্জন ফিল্টার সহ প্রদত্ত ITestInvocationListener গুলিতে রিপোর্ট করে।
| প্যারামিটার | |
|---|---|
listeners | Collection |
runName | String |
includeFilters | Set |
excludeFilters | Set |
জনসাধারণের পদ্ধতি
চূড়ান্ত পার্সার
public void finalizeParser ()
বাতিল করা হয়েছে
public boolean isCancelled ()
| ফেরত | |
|---|---|
boolean | |
প্রক্রিয়া নতুন লাইন
public void processNewLines (String[] lines)
পাইথন ইউনিটটেস্টের আউটপুট প্রসেস করুন এবং পার্স করা ফলাফল রিপোর্ট করুন।
MultiLineReceiver এর বেস মেথডের মতো নয়, এই মেথডটি সম্পূর্ণ আউটপুট সহ শুধুমাত্র একবার কল করা উচিত।
| প্যারামিটার | |
|---|---|
lines | String : নতুন লাইনগুলো ধারণকারী অ্যারে। |
পার্সিং করার সময় চূড়ান্ত করুন
public void setFinalizeWhenParsing (boolean shouldFinalize)
| প্যারামিটার | |
|---|---|
shouldFinalize | boolean |