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(
Belirtilen |
|
PythonUnitTestResultParser(
Belirtilen dahil et ve hariç tut filtreleriyle belirli |
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 |