PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


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

TestReport ::= TestResult* Status Line TimeMetric [FailMessage*]. Hasil Tes ::= string \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d Status Tunggal. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Garis Traceback Garis. Status Tunggal ::= \u201cok\u201d | \u201kesalahan\u201d. TimeMetric ::= \u201cRan\u201d integer \u201ctests in\u201d float \u201ds\u201d. Status ::= \u201cOK\u201d | \u201cGAGAL (kesalahan=\u201d int \u201c)\u201d. Pelacakan balik ::= 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

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

OKE

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

==================== ===== KESALAHAN: 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,001 detik GAGAL (kesalahan=1)

Contoh keluaran dengan beberapa kasus tepi (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) ... melewatkan 'reason foo' testUnexpectedSuccess (foo.testFoo) ... kesuksesan tak terduga

==================== ===== KESALAHAN: testError (foo.testFoo) ---------------------- ------------------------------------------------ Melacak kembali ( panggilan terakhir terakhir): File "foo.py", baris 11, di testError self.assertEqual(2+2, 5/0) ZeroDivisionError: pembagian bilangan bulat 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

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

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

TODO: Pertimbangkan untuk melakukan refactoring 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 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 tertentu, dengan filter penyertaan dan pengecualian yang ditentukan.

Metode publik

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

Proses output unittest Python dan laporkan hasil yang diurai.

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 yang diberikan.

Parameter
listeners

runName String

PythonUnitTestResultParser

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

Buat PythonUnitTestResultParser baru yang melapor ke ITestInvocationListener tertentu, dengan filter penyertaan dan pengecualian yang ditentukan.

Parameter
listeners

runName String

includeFilters

excludeFilters

Metode publik

menyelesaikan Parser

public void finalizeParser ()

Dibatalkan

public boolean isCancelled ()

Kembali
boolean

prosesNewLines

public void processNewLines (String[] lines)

Proses output unittest Python dan laporkan hasil yang diurai.

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

Parameter
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parameter
shouldFinalize boolean