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(
Buat |
|
PythonUnitTestResultParser(
Membuat |
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 |