PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Diễn giải kết quả của các chương trình kiểm thử chạy bằng khung kiểm thử của Python và dịch kết quả đó thành các lệnh gọi trên một loạt ITestInvocationListener. Kết quả của các chương trình kiểm thử này tuân theo ngữ pháp EBNF sau:

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. Trạng thái ::= \u201cOK\u201d | \u201cKHÔNG ĐẠT (errors=\u201d int \u201c)\u201d. Traceback ::= string+.

Kết quả mẫu (đạt): 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

---------------------------------------------------------------------- Đã chạy 5 chương trình kiểm thử trong 0,002 giây

OK

Kết quả ví dụ (không thành công) test_size (test_rangelib.RangeSetTest) ... ERROR

====================================================================== LỖI: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- Truy vết (lệnh gọi gần đây nhất ở cuối): Tệp "test_rangelib.py", dòng 129, trong test_rangelib raise ValueError() ValueError ---------------------------------------------------------------------- Đã chạy 1 kiểm thử trong 0,001 giây KHÔNG ĐẠT (lỗi=1)

Kết quả mẫu với một số trường hợp hiếm gặp (không thành công): 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

====================================================================== LỖI: testError (foo.testFoo) ---------------------------------------------------------------------- Truy vết (lệnh gọi gần đây nhất ở cuối): Tệp "foo.py", dòng 11, trong testError self.assertEqual(2+2, 5/0) ZeroDivisionError: phép chia số nguyên hoặc modulo bằng 0

====================================================================== FAIL: testFail (foo.testFoo) ---------------------------------------------------------------------- Traceback (lệnh gọi gần đây nhất ở cuối): Tệp "foo.py", dòng 8, trong testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

====================================================================== KHÔNG ĐẠT: testFailWithDocString (foo.testFoo) foo bar ---------------------------------------------------------------------- Truy vết (lệnh gọi gần đây nhất): Tệp "foo.py", dòng 31, trong testFailWithDocString self.assertEqual(2+2, 5) AssertionError: 4 != 5

---------------------------------------------------------------------- Đã chạy 8 chương trình kiểm thử trong 0,001 giây

KHÔNG THÀNH CÔNG (lần không thành công=2, lỗi=1, lượt bỏ qua=1, lần không thành công dự kiến=1, lần thành công không mong muốn=1)

VIỆC CẦN LÀM: Cân nhắc việc tái cấu trúc toàn bộ lớp, việc xử lý hiện khá lộn xộn.

Tóm tắt

Hàm khởi tạo công khai

PythonUnitTestResultParser( listeners, String runName)

Tạo một PythonUnitTestResultParser mới báo cáo cho các ITestInvocationListener đã cho.

PythonUnitTestResultParser( listeners, String runName, includeFilters, excludeFilters)

Tạo một PythonUnitTestResultParser mới báo cáo cho các ITestInvocationListener đã cho, với bộ lọc bao gồm và loại trừ được chỉ định.

Phương thức công khai

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

Xử lý đầu ra kiểm thử đơn vị Python và báo cáo kết quả đã phân tích cú pháp.

void setFinalizeWhenParsing(boolean shouldFinalize)

Hàm khởi tạo công khai

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Tạo một PythonUnitTestResultParser mới báo cáo cho các ITestInvocationListener đã cho.

Tham số
listeners

runName String

PythonUnitTestResultParser

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

Tạo một PythonUnitTestResultParser mới báo cáo cho các ITestInvocationListener đã cho, với bộ lọc bao gồm và loại trừ được chỉ định.

Tham số
listeners

runName String

includeFilters

excludeFilters

Phương thức công khai

finalizeParser

public void finalizeParser ()

isCancelled

public boolean isCancelled ()

Giá trị trả về
boolean

processNewLines

public void processNewLines (String[] lines)

Xử lý đầu ra kiểm thử đơn vị Python và báo cáo kết quả được phân tích cú pháp.

Bạn chỉ nên gọi phương thức này một lần với kết quả đầy đủ, không giống như phương thức cơ sở trong MultiLineReceiver.

Tham số
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Tham số
shouldFinalize boolean