PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Python'ın unittest çerçevesiyle çalıştırılan testlerin çıktısını yorumlar ve bir dizi ITestInvocationListener üzerinde çağrılara çevirir. Bu testlerin çıktısı aşağıdaki EBNF dil bilgisine uygundur:

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

Örnek çıktı (geçme): 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) ... ok

---------------------------------------------------------------------- 0,002 saniyede 5 test çalıştırıldı

Tamam

Örnek çıktı (başarısız) test_size (test_rangelib.RangeSetTest) ... ERROR

====================================================================== HATA: test_size<0x0A> (test_rangelib.RangeSetTest)<0x0A> ---------------------------------------------------------------------- Traceback (most recent<0x0A> call last): File "test_rangelib.py", line 129, in test_rangelib raise ValueError() ValueError<0x0A> ---------------------------------------------------------------------- Ran 1 test in 0.001s<0x0A> FAILED (errors=1)

Çeşitli uç durumları içeren örnek çıktı (başarısız): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... expected failure testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... skipped 'reason foo' testUnexpectedSuccess (foo.testFoo) ... unexpected success

====================================================================== HATA: testError (foo.testFoo) ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 11, in testError self.assertEqual(2+2, 5/0) ZeroDivisionError: integer division or modulo by zero

====================================================================== FAIL: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 8, in testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

====================================================================== FAIL: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- Traceback (most recent call last): File "foo.py", line 31, in testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5

---------------------------------------------------------------------- Ran 8 tests in 0.001s

BAŞARISIZ (failures=2, errors=1, skipped=1, expected failures=1, unexpected successes=1)

YAPILACAKLAR: Sınıfın tamamını yeniden düzenlemeyi düşünün. Şu anda işleme oldukça karmaşık.

Özet

Herkese açık oluşturucular

PythonUnitTestResultParser( listeners, String runName)

Belirtilen ITestInvocationListener'lara rapor veren yeni bir PythonUnitTestResultParser oluşturun.

PythonUnitTestResultParser( listeners, String runName, includeFilters, excludeFilters)

Belirtilen ITestInvocationListener'lere rapor veren, belirtilen "dahil et" ve "hariç tut" filtrelerine sahip yeni bir PythonUnitTestResultParser oluşturun.

Herkese açık yöntemler

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

Python unittest çıkışını işleme ve ayrıştırılmış sonuçları raporlama.

void setFinalizeWhenParsing(boolean shouldFinalize)

Herkese açık oluşturucular

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Belirtilen ITestInvocationListener'lara rapor veren yeni bir PythonUnitTestResultParser oluşturun.

Parametreler
listeners

runName String

PythonUnitTestResultParser

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

Belirtilen ITestInvocationListener'lere rapor veren, belirtilen "dahil et" ve "hariç tut" filtrelerine sahip yeni bir PythonUnitTestResultParser oluşturun.

Parametreler
listeners

runName String

includeFilters

excludeFilters

Herkese açık yöntemler

finalizeParser

public void finalizeParser ()

isCancelled

public boolean isCancelled ()

İlerlemeler
boolean

processNewLines

public void processNewLines (String[] lines)

Python unittest çıkışını işleme ve ayrıştırılmış sonuçları raporlama.

Bu yöntem, MultiLineReceiver içindeki temel yöntemin aksine yalnızca bir kez tam çıktı ile çağrılmalıdır.

Parametreler
lines String: Yeni satırları içeren dizi.

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parametreler
shouldFinalize boolean