PythonUnitTestResultParser
public class PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.Object | ||
↳ | com.android.ddmlib.MultiLineReceiver | |
↳ | com.android.tradefed.testtype.PythonUnitTestResultParser |
Phiên dịch đầu ra của các bài kiểm tra chạy bằng khung công tác độc nhất của Python và chuyển nó thành các lệnh gọi trên một loạt các ITestInvocationListener
. Đầu ra từ các bài kiểm tra này tuân theo ngữ pháp EBNF sau:
TestReport :: = TestResult * Trạng thái Line TimeMetric [FailMessage *]. TestResult :: = string “(“ string ”)” “…” SingleStatus. FailMessage :: = EqLine “ERROR:” string “(“ string ”)” Dòng Traceback Line. SingleStatus :: = “ok” | "LỖI". Số nguyên TimeMetric :: = "Ran" "kiểm tra trong" float "s". Trạng thái :: = “OK” | “FAILED (error =” int “)”. Traceback :: = string +.
Ví dụ đầu ra (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.RangeSeteluest) ... ok. RangeSetTest) ... được rồi
-------------------------------------------------- -------------------- Chạy 5 bài kiểm tra trong 0,002 giây
ĐƯỢC RỒI
Ví dụ đầu ra (không thành công) test_size (test_rangelib.RangeSetTest) ... ERROR
================================================== ==================== LỖI: test_size (test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ Tìm lại ( lần gọi gần đây nhất cuối cùng): Tệp "test_rangelib.py", dòng 129, trong test_rangelib nâng lên ValueError () ValueError --------------------------- ------------------------------------------- Chạy 1 bài kiểm tra trong 0,001 giây THẤT BẠI (lỗi = 1)
Ví dụ đầu ra với một số trường hợp cạnh (không thành công): testError (foo.testFoo) ... ERROR testEpectFailure (foo.testFoo) ... dự kiến thất bại testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) thanh foo. .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... bỏ qua 'reason foo' testUnepectSuccess (foo.testFoo) ... thành công ngoài mong đợi
================================================== ==================== LỖI: testError (foo.testFoo) ---------------------- ------------------------------------------------ Tìm lại ( lần gọi gần đây nhất cuối cùng): Tệp "foo.py", dòng 11, trong testError self.assertEqual (2 + 2, 5/0) ZeroDivisionError: chia số nguyên hoặc modulo bằng 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
================================================== ==================== THẤT BẠI: thanh foo testFailWithDocString (foo.testFoo) -------------------- -------------------------------------------------- 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
FAILED (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 đợi = 1)
VIỆC CẦN LÀM: Hãy xem xét việc cấu trúc lại toàn bộ lớp, việc xử lý hiện khá lộn xộn.
Bản tóm tắt
Các nhà xây dựng 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 pháp công khai | |
---|---|
void | finalizeParser () |
boolean | isCancelled () |
void | processNewLines (String[] lines) Xử lý đầu ra hấp dẫn 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) |
Các nhà 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 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 đến 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 đến 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
finalizeParser
public void finalizeParser ()
bị hủy
public boolean isCancelled ()
Lợi nhuận | |
---|---|
boolean |
processNewLines
public void processNewLines (String[] lines)
Xử lý đầu ra hấp dẫn 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 |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
Thông số | |
---|---|
shouldFinalize | boolean |