PythonBirimiTestSonucu Ayrıştırıcı
public class PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Nesne | ||
↳ | com.android.ddmlib.MultiLineAlıcı | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
Python'un en birimli çerçevesiyle çalıştırılan testlerin çıktısını yorumlar ve bunu bir dizi ITestInvocationListener
s üzerindeki çağrılara çevirir. Bu testlerden elde edilen çıktılar şu EBNF gramerini takip eder:
TestReport ::= TestResult* Line TimeMetric [FailMessage*] Durum. TestResult ::= string “(“string”)” “…” SingleStatus. FailMessage ::= EqLine “ERROR:” string “(“string”)” Line Traceback Line. SingleStatus ::= “tamam” | "HATA". TimeMetric ::= “Ran” tamsayı “şamandıra”larda “testler”. Durum ::= “Tamam” | “BAŞARISIZ (hatalar=” int “)”. Geri izleme ::= string+.
Örnek çıktı (geçiyor): 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) ... tamam
-------------------------------------------------- -------------------- 0,002 saniyede 5 test yaptı
TAMAM
Örnek çıktı (başarısız) test_size (test_rangelib.RangeSetTest) ... HATA
================================================= ==================== HATA: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ Geri iz ( en son çağrı son): Dosya "test_rangelib.py", satır 129, test_rangelib'de ValueError() ValueError --------------------------- ------------------------------------------- 0,001 saniyede 1 test yapıldı BAŞARISIZ (hatalar=1)
Birkaç uç durum içeren örnek çıktı (başarısız): testError (foo.testFoo) ... HATA testExpectedFailure (foo.testFoo) ... beklenen hata testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. FAIL testOk (foo.testFoo) ... tamam testOkWithDocString (foo.testFoo) foo çubuğu ... tamam testAtlandı (foo.testFoo) ... 'neden foo' atlandı testUnexpectedSuccess (foo.testFoo) ... beklenmedik başarı
================================================= ==================== HATA: testError (foo.testFoo) ---------------------- ------------------------------------------------ Geri iz ( en son çağrı son): Dosya "foo.py", satır 11, testError self.assertEqual(2+2, 5/0)'da ZeroDivisionError: tamsayı bölme veya sıfıra modulo
================================================= ==================== BAŞARISIZ: testFail (foo.testFoo) ---------------------- ------------------------------------------------ Geri iz ( en son çağrı son): Dosya "foo.py", satır 8, testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5
================================================= ==================== BAŞARISIZ: testFailWithDocString (foo.testFoo) foo çubuğu -------------------- -------------------------------------------------- Geri izleme (en son çağrı): Dosya "foo.py", satır 31, testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5
-------------------------------------------------- -------------------- 0,001 saniyede 8 test yaptı
BAŞARISIZ (arızalar=2, hatalar=1, atlandı=1, beklenen hatalar=1, beklenmeyen başarılar=1)
YAPILACAKLAR: Tüm sınıfı yeniden düzenlemeyi düşünün, kullanım şu anda oldukça dağınık.
Özet
Kamu inşaatçıları | |
---|---|
PythonUnitTestResultParser ( ITestInvocationListener listener, String runName) Verilen | |
PythonUnitTestResultParser ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName) Verilen | |
PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) Belirtilen dahil etme ve hariç tutma filtreleriyle birlikte verilen |
Genel yöntemler | |
---|---|
void | finalizeParser () |
boolean | isCancelled () |
void | processNewLines (String[] lines) Python birim test çıktısını işleyin ve ayrıştırılmış sonuçları bildirin. |
void | setFinalizeWhenParsing (boolean shouldFinalize) |
Kamu inşaatçıları
PythonBirimiTestSonucu Ayrıştırıcı
public PythonUnitTestResultParser (ITestInvocationListener listener, String runName)
Verilen ITestInvocationListener
rapor veren yeni bir PythonUnitTestResultParser
oluşturun.
parametreler | |
---|---|
listener | ITestInvocationListener |
runName | String |
PythonBirimiTestSonucu Ayrıştırıcı
public PythonUnitTestResultParser (listeners, String runName)
Verilen ITestInvocationListener
s'ye rapor veren yeni bir PythonUnitTestResultParser
oluşturun.
parametreler | |
---|---|
listeners | |
runName | String |
PythonBirimiTestSonucu Ayrıştırıcı
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
Belirtilen dahil etme ve hariç tutma filtreleriyle birlikte verilen ITestInvocationListener
s'ye rapor veren yeni bir PythonUnitTestResultParser
oluşturun.
parametreler | |
---|---|
listeners | |
runName | String |
includeFilters | |
excludeFilters |
Genel yöntemler
finalizeParser
public void finalizeParser ()
iptal edildi
public boolean isCancelled ()
İadeler | |
---|---|
boolean |
süreçYeniSatırlar
public void processNewLines (String[] lines)
Python birim test çıktısını işleyin ve ayrıştırılmış sonuçları bildirin.
Bu yöntem, MultiLineReceiver
temel yöntemin aksine, tam çıktıyla yalnızca bir kez çağrılmalıdır.
parametreler | |
---|---|
lines | String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
parametreler | |
---|---|
shouldFinalize | boolean |