Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Diễn giải đầu ra của các bài kiểm tra chạy với khung unittest của Python và dịch nó thành các lệnh gọi trên một loạt ITestInvocationListener s. Đầu ra từ các bài kiểm tra này tuân theo ngữ pháp EBNF này:

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 Dòng Traceback Line. Trạng thái đơn ::= \u201cok\u201d | \u201cLỖI\u201d. TimeMetric ::= \u201cRan\u201d số nguyên \u201ctests trong\u201d float \u201ds\u201d. Trạng thái ::= \u201cOK\u201d | \u201cFAILED (lỗi=\u201d int \u201c)\u201d. Truy nguyên ::= chuỗi+.

Đầu ra ví dụ (vượt qua): 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 cuối cùng): 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 KHÔNG THÀNH CÔNG (lỗi=1)

Đầu ra ví dụ với một số trường hợp cạnh (không thành công): testError (foo.testFoo) ... LỖI 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 'lý do 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 cuối cùng): Tệp "foo.py", dòng 8, trong testFail self.assertEqual(2+2, 5) AssertionError: 4 != 5

================================================================= ==================== FAIL: testFailWithDocString (foo.testFoo) foo bar -------------------- -------------------------------------------------- Traceback (lần 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 bài kiểm tra trong 0,001 giây

KHÔNG THÀNH CÔNG (không thành công=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: Xem xét 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 công cộng

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

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

PythonUnitTestResultParser ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName)

Tạo một PythonUnitTestResultParser mới báo cáo cho 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 cho ITestInvocationListener đã cho, 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ý đầu ra đơn vị 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 công cộng

PythonUnitTestResultParser

public PythonUnitTestResultParser (ITestInvocationListener listener, 
                String runName)

Tạo một PythonUnitTestResultParser mới báo cáo cho 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 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 cho 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 thức công khai

hoàn thiệnParser

public void finalizeParser ()

bị hủy

public boolean isCancelled ()

trả lại
boolean

quy trìnhNewLines

public void processNewLines (String[] lines)

Xử lý đầu ra đơn vị 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ơ sở trong MultiLineReceiver .

Thông số
lines String

setFinalize WhenParsing

public void setFinalizeWhenParsing (boolean shouldFinalize)

Thông số
shouldFinalize boolean