PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
| java.lang.Object | ||
| ↳ | com.android.ddmlib.MultiLineReceiver | |
| ↳ | com.android.tradefed.testtype.PythonUnitTestResultParser | |
ตีความเอาต์พุตของการทดสอบที่เรียกใช้ด้วยเฟรมเวิร์ก unittest ของ Python และแปลเป็นคำเรียกใช้
ในชุดของ ITestInvocationListeners เอาต์พุตจากการทดสอบเหล่านี้เป็นไปตามไวยากรณ์ EBNF
นี้
TestReport ::= TestResult* Line TimeMetric [FailMessage*] Status. TestResult ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback Line. SingleStatus ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= \u201cRan\u201d integer \u201ctests in\u201d float \u201ds\u201d. Status ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. Traceback ::= string+.
ตัวอย่างเอาต์พุต (ผ่าน): 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
---------------------------------------------------------------------- ทำการทดสอบ 5 รายการใน 0.002 วินาที
ตกลง
ตัวอย่างเอาต์พุต (ไม่สำเร็จ) test_size (test_rangelib.RangeSetTest) ... ERROR
====================================================================== ERROR: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "test_rangelib.py", line 129, in test_rangelib raise ValueError() ValueError ---------------------------------------------------------------------- Ran 1 test in 0.001s FAILED (errors=1)
ตัวอย่างเอาต์พุตที่มีกรณีขอบหลายกรณี (ล้มเหลว): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... expected failure testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... skipped 'reason foo' testUnexpectedSuccess (foo.testFoo) ... unexpected success
====================================================================== ERROR: testError (foo.testFoo) ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 11, in testError self.assertEqual(2+2, 5/0) ZeroDivisionError: integer division or modulo by zero
====================================================================== FAIL: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 8, in testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5
====================================================================== FAIL: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 31, in testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5
---------------------------------------------------------------------- เรียกใช้การทดสอบ 8 รายการใน 0.001 วินาที
ล้มเหลว (ล้มเหลว=2, ข้อผิดพลาด=1, ข้าม=1, ล้มเหลวที่คาดไว้=1, สำเร็จที่ไม่คาดไว้=1)
TODO: Consider refactoring the full class, handling is quite messy right now.
สรุป
เครื่องมือสร้างสาธารณะ | |
|---|---|
PythonUnitTestResultParser(
สร้าง |
|
PythonUnitTestResultParser(
สร้าง |
|
เมธอดสาธารณะ | |
|---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
ประมวลผลเอาต์พุตของ unittest ของ Python และรายงานผลลัพธ์ที่แยกวิเคราะห์แล้ว |
void
|
setFinalizeWhenParsing(boolean shouldFinalize)
|
เครื่องมือสร้างสาธารณะ
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName)
สร้าง PythonUnitTestResultParser ใหม่ที่รายงานต่อ ITestInvocationListener ที่ระบุ
| พารามิเตอร์ | |
|---|---|
listeners |
|
runName |
String |
PythonUnitTestResultParser
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
สร้าง PythonUnitTestResultParser ใหม่ที่รายงานไปยัง ITestInvocationListener ที่ระบุ โดยมีตัวกรองรวมและยกเว้นที่ระบุ
| พารามิเตอร์ | |
|---|---|
listeners |
|
runName |
String |
includeFilters |
|
excludeFilters |
|
เมธอดสาธารณะ
finalizeParser
public void finalizeParser ()
isCancelled
public boolean isCancelled ()
| คิกรีเทิร์น | |
|---|---|
boolean |
|
processNewLines
public void processNewLines (String[] lines)
ประมวลผลเอาต์พุตของ unittest ของ Python และรายงานผลลัพธ์ที่แยกวิเคราะห์แล้ว
ควรเรียกใช้เมธอดนี้เพียงครั้งเดียวโดยมีเอาต์พุตทั้งหมด ซึ่งต่างจากเมธอดฐานใน
MultiLineReceiver
| พารามิเตอร์ | |
|---|---|
lines |
String: อาร์เรย์ที่มีบรรทัดใหม่ |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
| พารามิเตอร์ | |
|---|---|
shouldFinalize |
boolean |