Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Menafsirkan hasil pengujian yang dijalankan dengan kerangka kerja Python yang paling unittest dan menerjemahkannya menjadi panggilan pada rangkaian ITestInvocationListener s. Keluaran dari tes ini mengikuti tata bahasa EBNF ini:

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. Status Tunggal ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= \u201cRan\u201d integer \u201ctests in\u201d float \u201ds\u201d. Status ::= \u201cOK\u201d | \u201cGAGAL (kesalahan=\u201d int \u201c)\u201d. Traceback ::= string+.

Contoh keluaran (lewat): 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) ... oke

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

OKE

Contoh keluaran (gagal) test_size (test_rangelib.RangeSetTest) ... ERROR

================================================== ==================== ERROR: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ Melacak kembali ( panggilan terakhir terakhir): File "test_rangelib.py", baris 129, di test_rangelib naikkan ValueError() ValueError --------------------------- ------------------------------------------- Menjalankan 1 tes dalam 0,001s GAGAL (kesalahan=1)

Contoh keluaran dengan beberapa kasus Edge (gagal): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... kegagalan yang diharapkan testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. GAGAL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... lewati 'reason foo' testUnexpectedSuccess (foo.testFoo) ... sukses tak terduga

================================================== ==================== ERROR: testError (foo.testFoo) ---------------------- ------------------------------------------------ Melacak kembali ( panggilan terakhir terakhir): File "foo.py", baris 11, di testError self.assertEqual(2+2, 5/0) ZeroDivisionError: pembagian integer atau modulo dengan nol

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

================================================== ==================== GAGAL: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- Traceback (panggilan terakhir terakhir): File "foo.py", baris 31, di testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5

-------------------------------------------------- -------------------- Menjalankan 8 tes dalam 0,001 detik

GAGAL (gagal=2, kesalahan=1, dilewati=1, kegagalan yang diharapkan=1, keberhasilan yang tidak terduga=1)

TODO: Pertimbangkan untuk memfaktorkan ulang seluruh kelas, penanganannya cukup berantakan saat ini.

Ringkasan

Konstruktor publik

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener yang diberikan.

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

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener s yang diberikan.

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

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener s yang diberikan, dengan filter sertakan dan kecualikan yang ditentukan.

Metode publik

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

Memproses output Python unittest dan melaporkan hasil parse.

void setFinalizeWhenParsing (boolean shouldFinalize)

Konstruktor publik

PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener yang diberikan.

Parameter
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener s yang diberikan.

Parameter
listeners

runName String

PythonUnitTestResultParser

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

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener s yang diberikan, dengan filter sertakan dan kecualikan yang ditentukan.

Parameter
listeners

runName String

includeFilters

excludeFilters

Metode publik

finalizeParser

public void finalizeParser ()

Dibatalkan

public boolean isCancelled ()

Pengembalian
boolean

processNewLines

public void processNewLines (String[] lines)

Memproses output Python unittest dan melaporkan hasil parse.

Metode ini harus dipanggil hanya sekali dengan output penuh, tidak seperti metode dasar di MultiLineReceiver .

Parameter
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parameter
shouldFinalize boolean