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 ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName) Tạo một | |
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 |
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 |