Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


解釋使用Python的unittest框架運行的測試的輸出,並將其轉換為對一系列ITestInvocationListener的調用。這些測試的輸出遵循以下EBNF語法:

TestReport :: = TestResult *行TimeMetric [FailMessage *]狀態。 TestResult :: =字符串“(“字符串”)”“…” SingleStatus。 FailMessage :: = EqLine“錯誤:”字符串“(“字符串”)”行回溯行。 SingleStatus :: =“確定” | “錯誤”。 TimeMetric :: =“ Ran”整數“測試” float“ s”。狀態:: =“確定” | “失敗(錯誤=” int“)”。追溯:: = string +。

輸出示例(傳遞):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)...確定

-------------------------------------------------- --------------------在0.002秒內進行了5次測試

示例輸出(失敗)test_size(test_rangelib.RangeSetTest)...錯誤

================================================== ===================錯誤:test_size(test_rangelib.RangeSetTest)---------------------- - - - - - - - - - - - - - - - - - - - - - - - - 追溯 (最近一次調用):文件“ test_rangelib.py”,行129,在test_rangelib中引發ValueError()ValueError --------------------------- -------------------------------------------在0.001秒內進行了1次測試失敗(錯誤= 1)

帶有幾種極端情況的示例輸出(失敗):testError(foo.testFoo)...錯誤testExpectedFailure(foo.testFoo)...預期失敗testFail(foo.testFoo)... FAIL testFailWithDocString(foo.testFoo)foo bar。 ..失敗testOk(foo.testFoo)...好的testOkWithDocString(foo.testFoo)foo欄...好的testSkipped(foo.testFoo)...跳過了'reason foo'testUnexpectedSuccess(foo.testFoo)...意外的成功

================================================== ===================錯誤:testError(foo.testFoo)---------------------- - - - - - - - - - - - - - - - - - - - - - - - - 追溯 (最近一次調用):文件“ foo.py”,位於testError self.assertEqual(2 + 2,5/0)的第11行,ZeroDivisionError:整數除法或以零為模

================================================== ===================失敗:testFail(foo.testFoo)---------------------- - - - - - - - - - - - - - - - - - - - - - - - - 追溯 (最近一次通話最後一次):在testFail self.assertEqual(2 + 2,5)中的文件“ foo.py”,第8行,AssertionError:4!= 5

================================================== ===================失敗:testFailWithDocString(foo.testFoo)foo bar -------------------- --------------------------------------------------追溯(最近一次呼叫最近):testFailWithDocString self.assertEqual(2 + 2,5)中的文件“ foo.py”,第31行,AssertionError:4!= 5

-------------------------------------------------- --------------------在0.001秒內進行了8次測試

失敗(失敗= 2,錯誤= 1,跳過= 1,預期失敗= 1,意外成功= 1)

TODO:考慮重構完整的類,現在的處理非常混亂。

摘要

公共建設者

PythonUnitTestResultParser ( ITestInvocationListener listener, String runName)

創建一個新的PythonUnitTestResultParser ,它向給定的ITestInvocationListener報告。

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

創建一個新的PythonUnitTestResultParser ,它報告給定的ITestInvocationListener

公開方法

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

處理Python unittest輸出並報告已解析的結果。

公共建設者

PythonUnitTestResultParser

public PythonUnitTestResultParser ( ITestInvocationListener listener, 
                String runName)

創建一個新的PythonUnitTestResultParser ,它向給定的ITestInvocationListener報告。

參量
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

創建一個新的PythonUnitTestResultParser ,它報告給定的ITestInvocationListener

參量
listeners

runName String

公開方法

取消

public boolean isCancelled ()

退貨
boolean

processNewLines

public void processNewLines (String[] lines)

處理Python unittest輸出並報告已解析的結果。

MultiLineReceiver的base方法不同,此方法僅應在完整輸出時調用一次。

參量
lines String