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(
Tạo một |
|
PythonUnitTestResultParser(
Tạo một |
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 |