HTMLTestRunner은 최적화 실패 스타일로 유닛 테스트 프레임 워크에서보고

  소개

  : 오래 전에, 나는 HTMLTestRunner 보고서 최적화 프로세스에 대한 기사를 썼다 https://www.cnblogs.com/liudinglong/p/12346824.html , 그룹에 질문을 친구 그룹 숨김의 채택에 그리고 문제의 경우, 스타일 아이콘과 실패와 클릭 응답. 오래 전에 그룹 친구 인해 이전에 바쁜에 해결 도움이 있지만 아래로 기록되지 않았지만, 도움이 더 작은 파트너 우회하기 위해, 지금 적어 둡니다.

  문제

  여기에 문제의 그룹 친구입니다 :

 

 

 

  친구 그룹이, 음, 주제에 내 블로그에 접근 할 문제가 무엇인지를 살펴하지 않았다 :

 

 

 

스크린 샷 친구의 그룹과 두 가지 문제를 발견 :

하나의 문제 : 위치는 파이 친화적 아니다

질문 2 : 어떤 반응을 통해 클릭, 또는 연결되는 링크를 클릭 후에는 로그를 보이지 않았다.

 

  솔루션

  첫째, 보고서 템플릿 소스 코드를 입력 보고서 _generate_report_test을 찾을뿐 다음과 같습니다 :

 (자기, 행 CID, TID, N, t, O, E) DEF _generate_report_test :
        # 예를 들어 'pt1.1', 'ft1.1'등
        has_output = BOOL (O 또는 E)
        # ID 포인트 밑줄, 부트 스트랩 지원 배치 가능한 효과를 수정 - Findyou을
        TID = (N == 0 'P'또는 'F') + 't % S_ % S'% (CID + 1, + 1 TID)
        t.id = ()의 이름을 분할 ( '.'). - 1]
        경우 self.verbosity> 1 :
            문서 t.shortDescription = () 또는 ""
        그밖에:
            문서 = ""

        DESC = 및 문서 ( '% S % S'% (이름, 문서)) 또는 이름
        PY3K없는 경우 :
            isinstance (내림차순, STR) 경우 :
                DESC = desc.decode ( "UTF-8")
        # = tmpl has_output 및 self.REPORT_TEST_WITH_OUTPUT_TMPL 또는 self.REPORT_TEST_NO_OUTPUT_TMPL
        tmpl = has_output 및 (N == 0 self.REPORT_TEST_NO_OUTPUT_TMPL 또는 self.REPORT_TEST_WITH_OUTPUT_TMPL) 또는 self.REPORT_TEST_NO_OUTPUT_TMPL

        # UTF-8 지원 중국어 - Findyou
        그들은 표준 출력 및 표준 오류에서 수집되기 때문에 # O와 E는 바이트 문자열을해야 하는가?
        isinstance (O, STR) 경우 :
            # = 유니 UO (o.encode ( 'string_escape'))
            PY3K 경우 :
                uo = o
            그밖에:
                UO = o.decode ( "UTF-8", "무시")
        그밖에:
            uo = o
        isinstance (예, STR)의 경우 :
            UE # = 유니 (e.encode ( 'string_escape'))
            PY3K 경우 :
                및 U =
            ELIF e.find ( "오류") = -1 또는 e.find ( "예외") = -1! :
                ES = e.decode ( "UTF-8", "무시") ( "\ n"). 분할
                인 [-2] =이다 [-2] .decode ( 'unicode_escape')
                UE = U "\ n".join (ES)
            그밖에:
                UE e.decode = ( 'UTF-8', '무시')
        그밖에:
            및 U =

        스크립트 = self.REPORT_TEST_OUTPUT_TMPL % 딕셔너리 (
            ID = 시간,
            출력 = saxutils.escape (UO + UE)
        )
        getattr 경우 (t 'imgs'[]) :
            # 판사 샷 목록에 추가가있는 경우
            TMP = U ""
            내가 들어, 열거 (t.imgs)에서 IMG :
                i가 0 == 경우 :
                    TMP + = "" "<IMG SRC ="데이터 : 이미지 / JPG;베이스 64 %의 "스타일 ="디스플레이 : 블록 「클래스 = "IMG"/> \ n '' '%의 IMG
                그밖에:
                    TMP + = "" "<IMG SRC ="데이터 : 이미지 / JPG;베이스 64 %의 "스타일 ="디스플레이 : 없음 「클래스 = "IMG"/> \ n '' '%의 IMG
            imgs = self.IMG_TMPL % 딕셔너리 (imgs = TMP)
        그밖에:
            imgs = U '' '无 截图 "" "

        행 = tmpl % 딕셔너리 (
            시간 = 시간,
            클래스 = (N == 0 'hiddenRow'혹은 '없음')
            스타일 = N == 2 'errorCase'또는 (N == 1 'failCase'또는 'passCase')
            DESC =하는 dec
            스크립트 = 스크립트,
            상태 self.STATUS = [N],
            IMG = imgs,
        )
        rows.append (행)
        하지 has_output 경우 :
            반환

    데프 (자동) _generate_ending :
        반환 self.ENDING_TMPL

  

시험 결과 보고서에 표시 할 경우이 기능은 주로 처리, 전체는없이, 단지 코드를 추가하지 않습니다 이해하지 않는다 :

 

 

N == 2 실시 예는,이 출력 REPORT_TEST_WITH_OUTPUT_TMPL 달리 출력 REPORT_TEST_NO_OUTPUT_TMPL을 채용

REPORT_TEST_NO_OUTPUT_TMPL의 내용은 변경 및 REPORT_TEST_WITH_OUTPUT_TMPL 후 버튼으로 렌더링 : BTN-성공.

 

그런 다음 파이 차트가, 위치를 수정 :

 

 

  보고서 최적화

  최적화 후, 우리는 다음 보고서를 보려면 스크립트를 실행합니다 :

 

 

스크린 샷의 그룹 친구를 회신 :

 

 

  

  그 이후로, HTML 최적화 보고서는 결론 지었다. 696 400 122 : 또한, 자동화와 같은 테스트 개발 파트너는 소규모 학습 교류 QQ 그룹에 가입 할 수 있습니다.

추천

출처www.cnblogs.com/liudinglong/p/12652471.html