PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Python'un unittest çerçevesiyle çalıştırılan testlerin çıktısını yorumlar ve bir dizi ITestInvocationListener çağrısına dönüştürür. Bu testlerin çıktısı aşağıdaki EBNF dil bilgisine uyar:

TestReport ::= TestResult* Satır ZamanMetrik [FailMessage*] Durum. TestResult ::= dize \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d dize \u201c(\u201cstring\u201d)\u201d Satır Hata Ayıklama satırı. SingleStatus ::= \u201cok\u201d | \u201cERROR\u201d. Zaman metriği ::= \u201cTam sayı\u201d \u201ctestleri\u201d \u201bonda\u201d \u201byapıldı\u201d. Durum ::= \u201cOK\u201d | \u201cFAILED (errors=\u201d int \u201c)\u201d. Traceback ::= string+.

Örnek çıkış (geçer): 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 çıkış (başarısız) test_size (test_rangelib.RangeSetTest) ... ERROR

====================================================================== HATA: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Hata Ayıklama (en son çağrı en son): Dosya "test_rangelib.py", 129.satır, test_rangelib raise ValueError() ValueError ---------------------------------------------------------------------- 0,001 saniyede 1 test çalıştırıldı BAŞARISIZ (hata sayısı=1)

Birkaç uç durum içeren örnek çıkış (başarısız): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... beklenen başarısızlık testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... atlandı "neden foo" testUnexpectedSuccess (foo.testFoo) ... beklenmedik başarı

====================================================================== HATA: testError (foo.testFoo) ---------------------------------------------------------------------- Hata Ayıklama (en son çağrı en son): "foo.py" dosyası, 11. satır, testError içinde self.assertEqual(2+2, 5/0) ZeroDivisionError: tam sayı bölme veya sıfır modülü

====================================================================== BAŞARISIZ: testFail (foo.testFoo) ---------------------------------------------------------------------- Hata Ayıklama (en son çağrı en son): "foo.py" dosyası, 8. satır, testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

====================================================================== BAŞARISIZ: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- Hata Ayıklama (en son çağrı en son): "foo.py" dosyası, 31. satır, testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5

---------------------------------------------------------------------- 0,001 saniyede 8 test çalıştırıldı

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

TODO: Sınıfın tamamını yeniden yapılandırmayı düşünün. Şu anda işleme oldukça karmaşık.

Özet

Herkese açık kurucular

PythonUnitTestResultParser( listeners, String runName)

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

PythonUnitTestResultParser( listeners, String runName, includeFilters, excludeFilters)

Belirtilen dahil et ve hariç tut filtreleriyle belirli ITestInvocationListener'lere rapor gönderen yeni bir PythonUnitTestResultParser oluşturun.

Herkese açık yöntemler

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

Python unittest çıkışını işleyin ve ayrıştırılan sonuçları raporlayın.

void setFinalizeWhenParsing(boolean shouldFinalize)

Herkese açık kurucular

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 dahil et ve hariç tut filtreleriyle belirli ITestInvocationListener'lere rapor veren 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şleyin ve ayrıştırılan sonuçları raporlayın.

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

Parametreler
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Parametreler
shouldFinalize boolean