PythonUnitTestResultParser
public class PythonUnitTestResultParser
extends MultiLineReceiver
java.lang.객체 | ||
↳ | 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 문자열 \u201c(\u201cstring\u201d)\u201d 라인 추적 라인. SingleStatus ::= \u201cok\u201d | \u201c오류\u201d. TimeMetric ::= \u201cRan\u201d 정수 \u201c\u201d float \u201ds\u201d에서 테스트합니다. 상태 ::= \u201c확인\u201d | \u201c실패(오류=\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 . .. FAIL testOk (foo.testFoo) ... ok testOkWithDocString (foo.testFoo) foo bar ... ok testSkipped (foo.testFoo) ... 건너뛴 'reason foo' testUnexpectedSuccess (foo.testFoo) ... 예상치 못한 성공
==================================================== ==================== 오류: testError(foo.testFoo) ---------------------- ------------------------------------------------ 역 추적 ( 가장 최근 호출 마지막): File "foo.py", line 11, in testError self.assertEqual(2+2, 5/0) ZeroDivisionError: 정수 나누기 또는 0으로 모듈로
==================================================== ==================== 실패: testFail (foo.testFoo) ---------------------- ------------------------------------------------ 역 추적 ( 가장 최근 호출 마지막): File "foo.py", line 8, in 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개의 테스트 실행
FAILED(실패=2, 오류=1, 건너뜀=1, 예상 실패=1, 예상치 못한 성공=1)
TODO: 전체 클래스를 리팩토링하는 것을 고려하십시오. 현재 처리가 매우 지저분합니다.
요약
공개 생성자 | |
---|---|
PythonUnitTestResultParser ( ITestInvocationListener listener, String runName) 주어진 | |
PythonUnitTestResultParser ( listeners, String runName) PythonUnitTestResultParser ( listeners, String runName) 주어진 | |
PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) PythonUnitTestResultParser ( listeners, String runName, includeFilters, excludeFilters) 지정된 포함 및 제외 필터를 사용하여 지정된 |
공개 방법 | |
---|---|
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 |
setFinalizeWhenParsing
public void setFinalizeWhenParsing (boolean shouldFinalize)
매개변수 | |
---|---|
shouldFinalize | boolean |