PythonUnitTestResultParser

public class PythonUnitTestResultParser
extends MultiLineReceiver

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


Python의 단위 테스트 프레임워크로 실행된 테스트의 출력을 해석하고 이를 일련의 ITestInvocationListener 호출로 변환합니다. 이러한 테스트의 출력은 다음 EBNF 문법을 따릅니다.

TestReport ::= TestResult* 라인 TimeMetric [FailMessage*] 상태. 테스트 결과 ::= 문자열 \u201c(\u201cstring\u201d)\u201d \u201c\u2026\u201d SingleStatus. FailMessage ::= EqLine \u201cERROR:\u201d string \u201c(\u201cstring\u201d)\u201d 라인 역추적 라인. SingleStatus ::= \u201cok\u201d | \u201c오류\u201d. TimeMetric ::= \u201cRan\u201d 정수 \u201d float \u201ds\u201d의 테스트입니다. 상태 ::= \u201c확인\u201d | \u201cFAILED(오류=\u201d int \u201c)\u201d. 역추적 ::= 문자열+.

출력 예(통과): 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) ... ERROR

================================================= ==================== 오류: test_size(test_rangelib.RangeSetTest) ---------------------- ------------------------------------------------ 역 추적 ( 가장 최근 호출 마지막): File "test_rangelib.py", line 129, in test_rangelib raise ValueError() ValueError -------------- ----------------- 0.001초 안에 1번의 테스트 실행 실패 (오류=1)

여러 가지 엣지 케이스(실패)가 있는 출력 예: testError (foo.testFoo) ... ERROR testExpectedFailure (foo.testFoo) ... 예상 실패 testFail (foo.testFoo) ... FAIL testFailWithDocString (foo.testFoo) foo bar . .. 실패 testOk (foo.testFoo) ... 확인 testOkWithDocString (foo.testFoo) foo bar ... 확인 testSkipped (foo.testFoo) ... 'reason foo' 건너뛰기 testUnexpectedSuccess (foo.testFoo) ... 예상치 못한 성공

================================================= ==================== 오류: 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)

지정된 ITestInvocationListener 에 보고하는 새로운 PythonUnitTestResultParser 만듭니다.

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

지정된 ITestInvocationListener 에 보고하는 새로운 PythonUnitTestResultParser 만듭니다.

PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters)

지정된 포함 및 제외 필터를 사용하여 지정된 ITestInvocationListener 에 보고하는 새로운 PythonUnitTestResultParser 만듭니다.

공개 메소드

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

Python 단위 테스트 출력을 처리하고 구문 분석된 결과를 보고합니다.

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

공개 메소드

finalizeParser

public void finalizeParser ()

취소됨

public boolean isCancelled ()

보고
boolean

processNewLines

public void processNewLines (String[] lines)

Python 단위 테스트 출력을 처리하고 구문 분석된 결과를 보고합니다.

이 메서드는 MultiLineReceiver 의 기본 메서드와 달리 전체 출력과 함께 한 번만 호출되어야 합니다.

매개변수
lines String

setFinalizeWhen파싱

public void setFinalizeWhenParsing (boolean shouldFinalize)

매개변수
shouldFinalize boolean