Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る
このページは 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 * Line TimeMetric [FailMessage *]ステータス。 TestResult :: = string“(“ string”)”“…” SingleStatus。 FailMessage :: = EqLine“ ERROR:” string“(“ string”)” Line Traceback Line。 SingleStatus :: =“ ok” | "エラー"。 TimeMetric :: =“ Ran”整数“ tests in” float” s”。ステータス:: =「OK」| 「FAILED(errors =” 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)... ok

-------------------------------------------------- -------------------- 0.002秒で5つのテストを実行

OK

出力例(失敗)test_size(test_rangelib.RangeSetTest)...エラー

================================================== ====================エラー:test_size(test_rangelib.RangeSetTest)---------------------- ------------------------------------------------トレースバック(最新の呼び出しの最後):test_rangelibのファイル「test_rangelib.py」、129行、ValueError()ValueError --------------------------- ------------------------------------------- 0.001秒で1つのテストを実行できませんでした(エラー= 1)

いくつかのエッジケースのある出力例(失敗):testError(foo.testFoo)... ERROR testExpectedFailure(foo.testFoo)...予期される失敗testFail(foo.testFoo)... FAIL testFailWithDocString(foo.testFoo)foo bar。 .. FAIL testOk(foo.testFoo)... ok testOkWithDocString(foo.testFoo)foo bar ... ok testSkipped(foo.testFoo)...スキップされた 'reason foo' testUnexpectedSuccess(foo.testFoo)...予期しない成功

================================================== ====================エラー:testError(foo.testFoo)---------------------- ------------------------------------------------トレースバック(最新の呼び出し(最後):ファイル "foo.py"、11行目、testError self.assertEqual(2 + 2、5/0)ZeroDivisionError:整数除算またはゼロによるモジュロ

================================================== ====================失敗:testFail(foo.testFoo)---------------------- ------------------------------------------------トレースバック(最新の呼び出しの最後):testFailのファイル "foo.py"、8行目self.assertEqual(2 + 2、5)AssertionError:4!= 5

================================================== ====================失敗:testFailWithDocString(foo.testFoo)foo bar -------------------- --------------------------------------------------トレースバック(最後の最後の呼び出し):ファイル "foo.py"、31行目、testFailWithDocString self.assertEqual(2 + 2、5)AssertionError:4!= 5

-------------------------------------------------- -------------------- 8つのテストを0.001秒で実行

失敗(失敗= 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ユニットテスト出力を処理し、解析結果を報告します。

パブリックコンストラクター

PythonUnitTestResultParser

public PythonUnitTestResultParser ( ITestInvocationListener listener, 
                String runName)

新しい作成PythonUnitTestResultParser与えに報告ITestInvocationListener

パラメーター
listener ITestInvocationListener

runName String

PythonUnitTestResultParser

public PythonUnitTestResultParser ( listeners, 
                String runName)

新しい作成PythonUnitTestResultParser与えられたと報告していることITestInvocationListener秒。

パラメーター
listeners

runName String

パブリックメソッド

isCancelled

public boolean isCancelled ()

戻り値
boolean

processNewLines

public void processNewLines (String[] lines)

Pythonユニットテスト出力を処理し、解析結果を報告します。

このメソッドは、 MultiLineReceiver基本メソッドとは異なり、完全な出力で一度だけ呼び出す必要があります。

パラメーター
lines String