PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Menafsirkan output pengujian yang dijalankan dengan framework unittest Python dan menerjemahkannya menjadi panggilan pada serangkaian ITestInvocationListener. Output dari pengujian ini mengikuti EBNF ini tata bahasa:

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 Garis. SingleStatus ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= \u201cRan\u201d integer \u201ctests in\u201d float \u201ds\u201d. Status ::= \u201cOke\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. Traceback ::= string+.

Contoh output (meneruskan): test_size (test_rangelib.RangeSetTest) ... ok test_str (test_rangelib.RangeSetTest) ... ok test_subtract (test_rangelib.RangeSetTest) ... oke test_to_string_raw (test_rangelib.RangeSetTest) ... ok test_union (test_rangelib.RangeSetTest) ... oke

---------------------------------------------------------------------- Menjalankan 5 tes dalam 0,002 dtk

Oke

Contoh output (failed) test_size (test_rangelib.RangeSetTest) ... ERROR

====== ERROR: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Traceback (terbaru call last): File "test_rangelib.py", baris 129, dalam test_rangelib meningkatkan ValueError() ValueError --------------------------------------------------------- Menjalankan 1 tes dalam 0.001 dtk FAILED (error=1)

Contoh output dengan beberapa kasus ekstrem (failed): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... kegagalan yang diharapkan testFailure (foo.testFoo) ... GAGAL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... oke testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... dilewati 'alasan foo testUnexpectedSuccess (foo.testFoo) ... keberhasilan tidak terduga

ERROR: testError (foo.testFoo) ---------------------------------------------------------------------- Traceback (panggilan terbaru terakhir): File "foo.py", baris 11, di testError self.confirmEqual(2+2, 5/0) ZeroDivisionError: pembagian bilangan bulat atau modulo dengan nol

----------------------------------------------------- GAGAL: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (panggilan terbaru terakhir): File "foo.py", baris 8, di testFail self.AssertionEqual(2+2, 5) AssertionError: 4 != 5

----------------------------------------------------- GAGAL: Panel foo testFailWithDocString (foo.testFoo) ---------------------------------------------------------------------- Traceback (terbaru call last): File "foo.py", baris 31, di testFailWithDocString self.confirmEqual(2+2, 5) AssertionError: 4 != 5

-------------------------------------------------------------------- Menjalankan 8 tes dalam 0.001 dtk

FAILED (kegagalan=2, kesalahan=1, dilewati=1, kegagalan yang diharapkan=1, keberhasilan tak terduga=1)

TODO: Pertimbangkan pemfaktoran ulang class lengkap, penanganan saat ini cukup berantakan.

Ringkasan

Konstruktor publik

PythonUnitTestResultParser(ITestInvocationListener listener, String runName)

Membuat PythonUnitTestResultParser baru yang melaporkan ke ITestInvocationListener yang ditentukan.

PythonUnitTestResultParser( listeners, String runName)

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener yang ditentukan.

PythonUnitTestResultParser( listeners, String runName, includeFilters, excludeFilters)

Membuat PythonUnitTestResultParser baru yang melaporkan ke ITestInvocationListener tertentu, dengan filter sertakan dan kecualikan yang ditentukan.

Metode publik

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

Memproses output unittest Python dan melaporkan hasil yang diuraikan.

void setFinalizeWhenParsing(boolean shouldFinalize)

Konstruktor publik

PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

Membuat PythonUnitTestResultParser baru yang melaporkan ke ITestInvocationListener yang ditentukan.

Parameter
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener yang ditentukan.

Parameter
listeners

runName String

PythonUnitTestResultParser

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

Membuat PythonUnitTestResultParser baru yang melaporkan ke ITestInvocationListener tertentu, dengan filter sertakan dan kecualikan yang ditentukan.

Parameter
listeners

runName String

includeFilters

excludeFilters

Metode publik

selesaikanParser

public void finalizeParser ()

dibatalkan

public boolean isCancelled ()

Hasil
boolean

processNewLines

public void processNewLines (String[] lines)

Memproses output unittest Python dan melaporkan hasil yang diuraikan.

Metode ini hanya boleh dipanggil sekali dengan {i>output<i} penuh, tidak seperti metode dasar pada MultiLineReceiver.

Parameter
lines String

setfinalisasiSaatMenguraikan

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parameter
shouldFinalize boolean