PythonUnitTestResultParser
public
class
PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
ตีความเอาต์พุตของการทดสอบที่ดำเนินการด้วยเฟรมเวิร์ก Unittest ของ Python และแปลค่าเป็นการเรียกใช้
ในชุด ITestInvocationListener
วินาที ผลที่ได้จากการทดสอบเหล่านี้เป็นไปตาม EBNF นี้
ไวยากรณ์:
สถานะ TestReport ::= Testผลลัพธ์* Line TimeMetric [FailMessage*] ผลการทดสอบ ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback บรรทัด SingleStatus ::= \u201cok\u201d | \u201cERROR\u201d TimeMetric ::= \u201cRan\u201d จำนวนเต็ม \u201c ทดสอบในจำนวนลอยตัว \u201ds\u201d สถานะ ::= \u201cOK\u201d | \u201cFAILED (ข้อผิดพลาด=\u201d int \u201c)\u201d Traceback ::= string+
ตัวอย่างเอาต์พุต (ส่งผ่าน): test_size (test_rangelib.RangeSetTest) ... ok test_str (test_rangelib.RangeSetTest) ... ok 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) ---------------------------------------------------------------------- Traceback (ล่าสุด) เรียกล่าสุด): ไฟล์ "test_rangelib.py" บรรทัดที่ 129 ใน test_rangelibRaise ValueError() ValueError ---------------------------------------------------------------------- ทำการทดสอบ 1 ครั้งใน 0.001 วินาที ไม่สำเร็จ (ข้อผิดพลาด=1)
ตัวอย่างเอาต์พุตที่มี Edge Case หลายรายการ (ล้มเหลว): testError (foo.testFoo) ... ERROR testPrepareFailure (foo.testFoo) ... ความล้มเหลวที่คาดไว้ testFail (foo.testFoo) ... ไม่ผ่าน testFailWithDocString (foo.testFoo) foo bar ... การทดสอบไม่ผ่าน (foo.testFoo) ... ตกลง testOkWithDocString (foo.testFoo) foo bar ... ตกลง testข้าม (foo.testFoo) ... ข้าม 'reason ฟู testUnexpectedSuccess (foo.testFoo) ... ความสำเร็จที่ไม่คาดคิด
====================================================================== ข้อผิดพลาด: ทดสอบ (foo.testFoo) --------------------------------------------------------------------- Traceback (เรียกล่าสุด): ไฟล์ "foo.py" บรรทัดที่ 11 ใน testError self.assertEqual(2+2, 5/0) ZeroDivisionError: การหารจำนวนเต็มหรือมอดูโลด้วย 0
====================================================================== ไม่ผ่าน: testFail (foo.testFoo) --------------------------------------------------------------------- Traceback (การเรียกล่าสุด): ไฟล์ "foo.py" บรรทัดที่ 8 ใน testFail self.assertEqual(2+2, 5) ข้อผิดพลาดเกี่ยวกับการยืนยัน: 4 != 5
====================================================================== ไม่ผ่าน: testFailWithDocString (foo.testFoo) ฟูบาร์ ---------------------------------------------------------------------- Traceback (ล่าสุด) เรียกล่าสุด): ไฟล์ "foo.py" บรรทัดที่ 31 ใน testFailWithDocString self.assertEqual(2+2, 5) ข้อผิดพลาดเกี่ยวกับการยืนยัน: 4 != 5
---------------------------------------------------------------------- ทำการทดสอบ 8 ครั้งใน 0.001 วินาที
ล้มเหลว (failures=2, errors=1,มีเป้าหมาย 1 รายการ, ความล้มเหลวที่คาดไว้=1, ความล้มเหลวที่ไม่คาดคิด=1, ความสำเร็จที่ไม่คาดคิด=1)
สิ่งที่ต้องทำ: ลองเปลี่ยนโครงสร้างภายในชั้นเรียนทั้งหมด ตอนนี้การจัดการยังค่อนข้างยุ่งเหยิง
สรุป
ช่างก่อสร้างสาธารณะ | |
---|---|
PythonUnitTestResultParser(ITestInvocationListener listener, String runName)
สร้าง |
|
PythonUnitTestResultParser(
สร้าง |
|
PythonUnitTestResultParser(
สร้าง |
วิธีการสาธารณะ | |
---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
ประมวลผลเอาต์พุต unittest ของ Python และรายงานผลลัพธ์ที่แยกวิเคราะห์แล้ว |
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 |
|
วิธีการสาธารณะ
แยกวิเคราะห์ขั้นสุดท้าย
public void finalizeParser ()
ถูกยกเลิก
public boolean isCancelled ()
คิกรีเทิร์น | |
---|---|
boolean |
ประมวลผลบรรทัดใหม่
public void processNewLines (String[] lines)
ประมวลผลเอาต์พุต unittest ของ Python และรายงานผลลัพธ์ที่แยกวิเคราะห์แล้ว
ควรเรียกเมธอดนี้เพียงครั้งเดียวพร้อมเอาต์พุตแบบเต็ม ซึ่งต่างจากเมธอดพื้นฐานใน
MultiLineReceiver
พารามิเตอร์ | |
---|---|
lines |
String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
พารามิเตอร์ | |
---|---|
shouldFinalize |
boolean |