পাইথন ইউনিট টেস্ট রেজাল্ট পার্সার

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 তৈরি করুন যা প্রদত্ত ITestInvocationListener এ রিপোর্ট করে।

PythonUnitTestResultParser (Collection< ITestInvocationListener > listeners, String runName)

একটি নতুন PythonUnitTestResultParser তৈরি করুন যা প্রদত্ত ITestInvocationListener গুলিতে রিপোর্ট পাঠাবে।

PythonUnitTestResultParser (Collection< ITestInvocationListener > listeners, String runName, Set<String> includeFilters, Set<String> excludeFilters)

একটি নতুন PythonUnitTestResultParser তৈরি করুন যা নির্দিষ্ট অন্তর্ভুক্ত এবং বর্জন ফিল্টার সহ প্রদত্ত ITestInvocationListener গুলিতে রিপোর্ট করে।

জনসাধারণের পদ্ধতি

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