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 ::= 문자열 \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus입니다. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d 라인 역추적 선 SingleStatus ::= \u201cok\u201d | \u201cERROR\u201d. TimeMetric ::= \u201cRan\u201d 정수 \u201ctests in\u201d float \u201ds\u201d. 상태 ::= \u201c확인\u201d | \u201cFAILED (오류=\u201d int \u201c)\u201d. 역추적 ::= 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) ... 알았어
---------------------------------------------------------------------- 테스트 5회 실행 0.002초
확인
예시 출력 (실패) test_size (test_rangelib.RangeSetTest) ... ERROR
======================================================================= ERROR: test_size (test_rangelib.RangeSetTest) ---------------------------------------------------------------------- 역추적 (최근 마지막 호출): 파일 'test_rangelib.py', 129행, test_rangelib에서 ValueError() ValueError 발생 ---------------------------------------------------------------------- 테스트 1회 실행 0.001초 실패 (오류=1)
몇 가지 특이 사례가 있는 출력 예시 (실패): testError (foo.testFoo) ... ERROR testKnownFailure (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) ... 예상치 못한 성공
====================================================================== ERROR: testError (foo.testFoo) ---------------------------------------------------------------------- 역추적 (최근에 마지막으로 호출됨): 파일 'foo.py', 11행, testError self.assertEqual(2+2, 5/0) ZeroDivisionError: 정수 나눗셈 또는 0으로 모듈로
===================================================================== 실패: 테스트 실패 (foo.testFoo) ---------------------------------------------------------------------- 역추적 (최근에 마지막으로 호출됨): 파일 'foo.py', 줄 8, testFail 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
---------------------------------------------------------------------- 0.001초 동안 테스트 8회 실행
실패 (실패=2, 오류=1, 건너뜀=1, 예상 실패=1, 예상치 못한 성공=1)
TODO: 전체 클래스를 리팩터링해 보세요. 지금은 처리가 상당히 지저분합니다.
요약
공개 생성자 | |
---|---|
PythonUnitTestResultParser(ITestInvocationListener listener, String runName)
지정된 |
|
PythonUnitTestResultParser(
지정된 |
|
PythonUnitTestResultParser(
지정된 포함 및 제외 필터를 사용하여 지정된 |
공개 메서드 | |
---|---|
void
|
finalizeParser()
|
boolean
|
isCancelled()
|
void
|
processNewLines(String[] lines)
Python unittest 출력을 처리하고 파싱된 결과를 보고합니다. |
void
|
setFinalizeWhenParsing(boolean shouldFinalize)
|
공개 생성자
PythonUnitTestResultParser 클래스의 생성자
public PythonUnitTestResultParser (ITestInvocationListener listener, String runName)
지정된 ITestInvocationListener
에 보고하는 새 PythonUnitTestResultParser
를 만듭니다.
매개변수 | |
---|---|
listener |
ITestInvocationListener |
runName |
String |
PythonUnitTestResultParser 클래스의 생성자
public PythonUnitTestResultParser (listeners, String runName)
지정된 ITestInvocationListener
에 보고하는 새 PythonUnitTestResultParser
를 만듭니다.
매개변수 | |
---|---|
listeners |
|
runName |
String |
PythonUnitTestResultParser 클래스의 생성자
public PythonUnitTestResultParser (listeners, String runName, includeFilters, excludeFilters)
지정된 포함 및 제외 필터를 사용하여 지정된 ITestInvocationListener
에 보고하는 새 PythonUnitTestResultParser
를 만듭니다.
매개변수 | |
---|---|
listeners |
|
runName |
String |
includeFilters |
|
excludeFilters |
|
공개 메서드
파이널라이저파서
public void finalizeParser ()
취소됨
public boolean isCancelled ()
반환 값 | |
---|---|
boolean |
프로세스 줄바꿈
public void processNewLines (String[] lines)
Python unittest 출력을 처리하고 파싱된 결과를 보고합니다.
이 메서드는
MultiLineReceiver
매개변수 | |
---|---|
lines |
String |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
매개변수 | |
---|---|
shouldFinalize |
boolean |