Trình phân tích cú pháp 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 unittest của Python và dịch kết quả thành các lệnh gọi trên một chuỗi ITestInvocationListener. Kết quả của các bài kiểm thử này tuân theo EBNF này ngữ pháp:

Trạng thái TestReport ::= TestResult* Line TimeMetric [FailMessage*]. Chuỗi TestResult ::= \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. Đường kẻ. SingleStatus ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= \u201cRan\u201d số nguyên \u201ctests in\u201d float \u201ds\u201d. Trạng thái ::= \u201cOK\u201d | \u201cFAILED (lỗi=\u201d int \u201c)\u201d. Traceback ::= string+.

Kết quả ví dụ (truyền): 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) ... chấp nhận được

------------------------------------------------------------------------ Đã chạy 5 bài kiểm tra trong 0,002 giây

OK

Kết quả mẫu (thất bại) test_size (test_rangelib.RangeSetTest) ... LỖI

lượt = 0, (test_rangelib.rangeSetTest) ------------------------------------------------------------------------------ Truy ngược (gần đây nhất) call last): Tệp "test_rangelib.py", dòng 129, trong test_rangelib tăng ValueError() ValueError ------------------------------------------------------------------------ Đã chạy 1 bài kiểm tra trong 0,001 giây KHÔNG THÀNH CÔNG (lỗi=1)

Kết quả mẫu với một số trường hợp hiếm gặp (thất bại): testError (foo.testFoo) ... ERROR testProjectPending (foo.testFoo) ... thất bại dự kiến testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar ... FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) thanh foo ... ok testSkipped (foo.testFoo) ... đã bỏ qua 'lý do "foo" testUnexpectedSuccess (foo.testFoo) ... thành công ngoài dự kiến

lượt = 3,669 lượt xem (foo.testFoo) --------------------------------------------------------- Truy ngược (cuộc gọi gần đây nhất cuối cùng): Tệp "foo.py", dòng 11, trong testErrorself.assertEqual(2+2, 5/0) ZeroDivisionError: chia số nguyên hoặc mô-đun cho 0

lượt = 3,669,000 VND (foo.testFoo) --------------------------------------------------------- Truy ngược (cuộc gọi gần đây nhất cuối cùng): Tệp "foo.py", dòng 8, trong testFail nguyên.assertEqual(2+2, 5) Lỗi xác nhận: 4 != 5

lượt = 3 tuần testFailWithDocString (foo.testFoo) thanh foo ------------------------------------------------------------------------------ Truy ngược (gần đây nhất) call last): Tệp "foo.py", dòng 31, trong testFailWithDocString tự.assertEqual(2+2, 5) Lỗi xác nhận: 4 != 5

------------------------------------------------------------------------ Đã chạy 8 bài kiểm tra trong 0,001 giây

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

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

Tóm tắt

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

PythonUnitTestResultParser(ITestInvocationListener listener, String runName)

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

PythonUnitTestResultParser( listeners, String runName)

Tạo một PythonUnitTestResultParser mới để báo cáo cho các ITestInvocationListener nhất định.

PythonUnitTestResultParser( listeners, String runName, includeFilters, excludeFilters)

Tạo một PythonUnitTestResultParser mới để báo cáo cho các ITestInvocationListener nhất định, với các 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ý kết quả unittest của 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

Trình phân tích cú pháp PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

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

Tham số
listener ITestInvocationListener

runName String

Trình phân tích cú pháp PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

Tạo một PythonUnitTestResultParser mới để báo cáo cho các ITestInvocationListener nhất định.

Tham số
listeners

runName String

Trình phân tích cú pháp PythonUnitTestResultParser

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

Tạo một PythonUnitTestResultParser mới để báo cáo cho các ITestInvocationListener nhất định, với các 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

hoàn tất phân tích cú pháp

public void finalizeParser ()

đã bị huỷ

public boolean isCancelled ()

Giá trị trả về
boolean

processNewLines (Dòng mới)

public void processNewLines (String[] lines)

Xử lý kết quả unittest của Python và báo cáo kết quả đã phân tích cú pháp.

Phương thức này chỉ được gọi một lần với dữ liệu đầu ra đầy đủ, không giống như phương thức cơ sở trong MultiLineReceiver.

Tham số
lines String

thiết lập hoàn tất khi phân tích cú pháp

public void setFinalizeWhenParsing (boolean shouldFinalize)

Tham số
shouldFinalize boolean