PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

java.lang.Object
com.android.ddmlib.MultiLineReceiver
com.android.tradefed.testtype.PythonUnitTestResultParser


ตีความผลลัพธ์ของการทดสอบที่รันด้วยเฟรมเวิร์ก unittest ของ Python และแปลเป็นการเรียกบนชุดของ ITestInvocationListener ผลลัพธ์จากการทดสอบเหล่านี้เป็นไปตามไวยากรณ์ EBNF นี้:

TestReport ::= TestResult* Line TimeMetric [FailMessage*] สถานะ ผลการทดสอบ ::= สตริง “(“สตริง”)” “…” SingleStatus FailMessage ::= EqLine “ข้อผิดพลาด:” string “(“string”)” Line Traceback Line SingleStatus ::= “ตกลง” | "ข้อผิดพลาด". TimeMetric ::= "รัน" จำนวนเต็ม "ทดสอบใน" float ”s” สถานะ ::= “ตกลง” | “ล้มเหลว (ข้อผิดพลาด =” int “)” การติดตาม ::= string+.

ตัวอย่างเอาต์พุต (ผ่าน): test_size (test_rangelib.RangeSetTest) ... ตกลง test_str (test_rangelib.RangeSetTest) ... ตกลง test_subtract (test_rangelib.RangeSetTest) ... ตกลง test_to_string_raw (test_rangelib.RangeSetTest) ... ตกลง test_union (test_rangelib. RangeSetTest) ... ตกลง

-------------------------------------------------- -------------------- ทำการทดสอบ 5 ครั้งใน 0.002 วินาที

ตกลง

ตัวอย่างเอาต์พุต (ล้มเหลว) test_size (test_rangelib.RangeSetTest) ... ERROR

================================================= ==================== ข้อผิดพลาด: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ ตรวจสอบย้อนกลับ ( การโทรล่าสุดล่าสุด): ไฟล์ "test_rangelib.py" บรรทัดที่ 129 ใน test_rangelib เพิ่ม ValueError() ValueError ---------------------------- -------------------------------------------- การทดสอบ Ran 1 ใน 0.001 วินาที FAILED (ข้อผิดพลาด=1)

ตัวอย่างผลลัพธ์ที่มีหลายกรณีของขอบ (ล้มเหลว): 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: การหารจำนวนเต็มหรือโมดูโลด้วยศูนย์

================================================= ==================== FAIL: testFail (foo.testFoo) ---------------------- ------------------------------------------------ ตรวจสอบย้อนกลับ ( การโทรล่าสุดล่าสุด): ไฟล์ "foo.py" บรรทัดที่ 8 ใน testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

================================================= ==================== FAIL: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "foo.py" บรรทัดที่ 31 ใน testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5

-------------------------------------------------- -------------------- ทำการทดสอบ 8 ครั้งใน 0.001 วินาที

ล้มเหลว (ล้มเหลว = 2 ข้อผิดพลาด = 1 ข้าม = 1 ล้มเหลวที่คาดหวัง = 1 สำเร็จที่ไม่คาดคิด = 1)

สิ่งที่ต้องทำ: พิจารณาการจัดโครงสร้างใหม่ทั้งคลาส การจัดการค่อนข้างยุ่งในตอนนี้

สรุป

ผู้สร้างสาธารณะ

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

สร้าง PythonUnitTestResultParser ใหม่ที่รายงานไปยัง ITestInvocationListener ที่กำหนด

PythonUnitTestResultParser ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName)

สร้าง PythonUnitTestResultParser ใหม่ที่รายงานไปยัง ITestInvocationListener ที่กำหนด

PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters)

สร้าง PythonUnitTestResultParser ใหม่ที่รายงานไปยัง ITestInvocationListener ที่กำหนด โดยมีตัวกรองการรวมและการแยกที่ระบุ

วิธีการสาธารณะ

void finalizeParser ()
boolean isCancelled ()
void processNewLines (String[] lines)

ประมวลผลเอาต์พุต Python unittest และรายงานผลการแยกวิเคราะห์

void setFinalizeWhenParsing (boolean shouldFinalize)

ผู้สร้างสาธารณะ

PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

สร้าง PythonUnitTestResultParser ใหม่ที่รายงานไปยัง ITestInvocationListener ที่กำหนด

พารามิเตอร์
listener ITestInvocationListener

runName String

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

กระบวนการNewLines

public void processNewLines (String[] lines)

ประมวลผลเอาต์พุต Unittest ของ Python และรายงานผลการแยกวิเคราะห์

ควรเรียกวิธีนี้เพียงครั้งเดียวด้วยเอาต์พุตเต็ม ไม่เหมือนกับวิธีพื้นฐานใน MultiLineReceiver

พารามิเตอร์
lines String

setFinalizeWhen Parsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

พารามิเตอร์
shouldFinalize boolean