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ả đầu ra của các bài kiểm tra chạy bằng framework nhỏ nhất của Python và chuyển nó thành các lệnh gọi trên một chuỗi ITestInvocationListener s. Đầu ra từ các bài kiểm tra này tuân theo ngữ pháp EBNF sau:

TestReport ::= TestResult* Dòng TimeMetric [FailMessage*] Trạng thái. TestResult ::= chuỗi \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d Line Traceback Line. Trạng thái đơn ::= \u201cok\u201d | \u201cLỖI\u201d. TimeMetric ::= \u201cRan\u201d số nguyên \u201ctest trong\u201d float \u201ds\u201d. Trạng thái ::= \u201cOK\u201d | \u201cFAILED (lỗi=\u201d int \u201c)\u201d. Truy nguyên ::= string+.

Đầu ra ví dụ (chuyể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) ... được

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

ĐƯỢC RỒI

Đầu ra ví dụ (không thành công) test_size (test_rangelib.RangeSetTest) ... LỖI

======================================================= ===================== LỖI: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ Tìm lại ( cuộc gọi gần đây nhất gần đây nhất): Tệp "test_rangelib.py", dòng 129, trong test_rangelib raise ValueError() ValueError ----------------------------------------- ------------------------------------------ Chạy 1 bài kiểm tra trong 0,001 giây THẤT BẠI (lỗi=1)

Đầu ra ví dụ với một số trường hợp biên (không thành công): testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... lỗi dự kiến ​​testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... bỏ qua 'reason foo' testUnexpectedSuccess (foo.testFoo) ... thành công ngoài mong đợi

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

======================================================= ===================== THẤT BẠI: testFail (foo.testFoo) ---------------------- ------------------------------------------------ Tìm lại ( cuộc gọi gần đây nhất): Tệp "foo.py", dòng 8, trong testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

======================================================= ===================== THẤT BẠI: testFailWithDocString (foo.testFoo) thanh foo -------------------- -------------------------------------------------- Traceback (cuộc gọi gần đây nhất 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 bài kiểm tra trong 0,001 giây

THẤT ​​BẠI (thất bại=2, lỗi=1, bỏ qua=1, thất bại dự kiến=1, thành công ngoài mong đợi=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 tại khá lộn xộn.

Bản tóm tắt

Nhà thầu xây dựng công cộng

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

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

PythonUnitTestResultParser ( listeners, String runName) 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) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters)

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

Phương pháp công khai

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

Xử lý đầu ra nhỏ nhất của Python và báo cáo kết quả được phân tích cú pháp.

void setFinalizeWhenParsing (boolean shouldFinalize)

Nhà thầu xây dựng công cộng

PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

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

Thông số
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

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

Thông số
listeners

runName String

PythonUnitTestResultParser

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

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

Thông số
listeners

runName String

includeFilters

excludeFilters

Phương pháp công khai

hoàn thiệnParser

public void finalizeParser ()

bị hủy

public boolean isCancelled ()

Trả lại
boolean

quá trìnhDòng mới

public void processNewLines (String[] lines)

Xử lý đầu ra nhỏ nhất của Python và báo cáo kết quả được phân tích cú pháp.

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

Thông số
lines String

setFinalizeWhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Thông số
shouldFinalize boolean