(36 명의) 워크 unittest- 인식 테스트 유닛 테스트 유닛의 테스트 유닛을 인식

수필과 기록은 동료 여행자에 대한 접근을 용이하게한다.

# I ------------------------------------------------ ------------------------------------------- 분할 선을 수치이며

  학습 셀레늄 자동화하기 전에, 운영 및 위치 요소의 원리를 이해하는 HTML, CSS, 자바 스크립트 및 기타 지식, 도움을 학습하는 것이 가장 좋습니다. 파이썬과 셀레늄은 소개하지 않습니다 여기에 자신의 검색하시기 바랍니다 추가 정보를 설치 정보, 모든 예제는 python3.6 + 셀레늄을 사용하여 수행됩니다.

# I ------------------------------------------------ ------------------------------------------- 분할 선을 수치이며

시험에 익숙하지 않은 사용자는 단위 테스트의 측면에서 초보자되기 위해 소리 높이의 주제, 그 일을 할 수있는 겉으로 만 고급 테스트 또는 개발자입니다. 사실, 그렇게 고급 상상하지, 우리는 천천히 예에 의해 그 신비의 베일 열립니다.

독자, 우리는 학교에 의심의 여지가 없습니다되어 있습니다을 자동화? 단위뿐만 아니라 코드 레벨 테스트, 단위 테스트 프레임 워크에 관한 프레임 워크를 테스트, 사실, 단위 테스트 프레임 워크를 학습 가서 왜, 나는 주로 다음 세 가지라고 생각합니다.

기구 사용 사례 및 구현을 제공합니다 : 당신이 몇 테스트 케이스는, 그러나, 테스트 케이스의 수십만 테스트 많은 수의 함께 쌓여 도달하기 위해 사용 사례를 정리 고려하지 않을 때, 그것은 확장 성을 만들고 유지 보수 문제,이 시간 사양의 조직은 사용 사례를 고려할 필요가있다. 단위는이 문제를 해결하는 데 사용되는 프레임 워크를 테스트.

이 방법은 비교 부를 제공 기능 테스트 또는 단위 테스트 중 하나는, 결과가 사용 사례에 의해 수행하는지 여부를 결정하도록, 예상되는 결과로 수행 사용 사례의 완료 후 (어 써트) 실제 비교 될 필요가있다. 유닛 테스트 프레임 워크는 일반적인 주장의 풍부한을 제공합니다. 예를 들어, 동일한 판정 / 뿐만 포함 / 포함하지 않는, 참 / 거짓 같은 주장.

로그의 풍부한을 제공합니다 : 모든 사용 사례는 실행 결과의 풍부한을 제공 할 수있는 경우 테스트 케이스가 실패 실패에 대한 명확한 이유를 던져 실행이 완료됩니다. 예를 들어, 전체 실행 시간, 실패, 경우의 수의 사용 사례의 수 등을 성공적으로 사용.

일반 유닛 테스트 워크는 이러한 기능을 제공 할 것이며, 이러한 특징은 도면의 테스트 프레임 요소의 범위, 이는 동일하게 적용될 수있다개발 및 실행 자동화 예.

 

이해 유닛 테스트

 

단위 테스트는 무엇입니까? 단위 테스트 모듈의 오류를 감지하는 중요한 프로그램 분기 시험 참조 모듈의 문서에 설명 된 소프트웨어 설계를 사용하여 인증을위한 최소한의 소프트웨어 설계 유닛 (모듈)에 대한 책임이있다. 에서 파이썬 장치와 같은 프레임 워크를 테스트 많은 언어가 있습니다 doctest가 , 유닛 테스트 , pytest , 등, 유닛 테스트 프레임 (이전 PyUnit의 같은 프레임) 파이썬 언어는 단위 테스트 프레임 워크가 제공됩니다 파이썬 2.1 이상 버전이 가진 유닛 테스트 A와 에 표준 모듈 파이썬 개발 키트.

 

단위 테스트의 이해

 

독자는 없습니다 단위 테스트 단위 테스트 프레임 워크를 작성하는 않는 요청할 수 있습니다? 대답은 구덩이를 주어, 그 자체로 단위 테스트는 그렇게 할 수는 쓰기 단위 테스트, 다음의 예는 단위 테스트 프레임 워크를 테스트하지 않음으로써 보여줍니다 단위 테스트 프레임 워크를 할, 다른 섹션을 열고 확인하는 코드의 조각이다.

 

먼저 테스트 클래스 생성 calculator.py을

# 계산기 
클래스 카운트 () :
     DEF  __init__ (자기, A, B) : 
        self.a = INT (A) 
        self.b, = INT (B) 
    
    # 산출 가산기 
    DEF 추가 (자기)
         복귀 self.a + 셀프. B

매우 간단한 절차하는 생성 카운트 에 의해 정수 개의 클래스 계산 __ __init을 () 메소드는 생성 두 숫자를 초기화하는 추가 () 메소드가 복귀 두 숫자의 합계의 결과.

프레임 워크 필기 시험을 테스트하지 않고 있지만 회원으로 구현 위의 기능에 따라 test.py

에서 계산기 가져 오기 카운트 

#의 두 정수의 테스트뿐만 아니라 
클래스 TestCount () :
     DEF는 (자체) test_add
         은 try : 
            J = 백작 (2,3 ) 
            추가 = j.add ()
             어설 (추가 == 5.), ' 정수 추가 오류의 결과! ' 
        제외 AS MSG와 AssertionError를 :
             인쇄 (MSG)
         다른 :
             인쇄 ( ' ! 시험 PAA ' ) 

# 테스트 클래스의 시험 방법을 실행 
MYTEST = TestCount ()
mytest.test_add ()

먼저, 도입 계산기 파일 Conut의 클래스 후 test_add () 호출 방법 카운트 클래스 전달 개의 파라미터 (2) (3) , 마지막 통화 카운트 클래스 추가 () 메소드 개의 파라미터 가발 동작 및 의해 어설 션 () 를 결정하기위한 방법을 추가 () 반환 값이 동일 (5) , 동일하지 않은 경우 "사용자 정의 예외 정수 가산 결과 오류! 동일한 인쇄하는 경우, 이상 정보" " 시험 패스! "

결과 :

 

어려운 일이 아니다이 테스트에 많은 문제가 있다는 것을 찾을 수 있습니다. 우선, 아니 거기에 기록 된 시험 절차는 특정 규범을 따를 수, 프로그래머가 항상 완전히 다른 시험 절차를 쓸 수, 코드는 모두 유지 보수가 매우 골칫거리하지 않습니다. 둘째, 필요에 보조 단위 테스트에 많은 코드를 작성하는 test.py 더 코드보다 테스트되고에서 테스트를위한 코드를하지만, 이것은 단지 테스트, 모듈 단위입니다, 유일한 기록 테스트 케이스는 분명 충분하지 않습니다.

유지하고 쓰기 쉽게 단위 테스트 코드에 대한 위해 가장 좋은 방법은 마음에서 태어난 단위 테스트 프레임 워크 쓰기 테스트 케이스에 특정 규범을 따르는 것입니다. 그럼 어떻게 말할 유닛 테스트 쓰기 단위 테스트 단위 테스트 프레임 워크를.

 

에서 계산기 가져 오기 백작
 가져 오기 유닛 테스트 

#의 두 정수의 테스트뿐만 아니라 
클래스 (unittest.TestCase의) TestCount :
     DEF 설정 (자동) :
         인쇄 ( ' 테스트 시작 ' )
     DEF (자기) test_add : 
        J = 백작 (2,3 ) 
        자체. assertEqual (j.add (), 5. )
     DEF 의 tearDown (자동) :
         인쇄 ( " 시험 끝 " ) 

# 테스트 클래스의 시험 방법 수행 
IF  __name__ == ' __main__ '을: 
    unittest.main ()

처음 소개 위의 코드의 분석 유닛 테스트 모듈은 생성 TestCount의 클래스가 상속 유닛 테스트 TestCase에의 클래스는, 우리가 할 수있는 TestCase에의 클래스는 특정 클래스에 대한 테스트라는 모음입니다.

설정 () 메소드는 여기에 단순히 "인쇄 테스트 케이스 실행하기 전에 작업을 초기화하는 데 사용되는 테스트 시작 "메시지. 의 tearDown () 메소드 설정 () 재활 작동 시험 후 수행 위해 에코의 방법 (예를 들어, 이탈 동작) "본원 프린트 시험 종료 "정보.

에서는 test_add () 제 호에서 카운트 클래스와 착신 번호를 호출하는 것에 의해 계산 될 추가 () 의 반환 값의 개수는 두 가지 방법을 추가하세요. 더 이상 통화, 성가신 예외 처리를 사용하지 유닛 테스트 프레임 워크를 제공 assertEqual () 메소드 () 추가 값 주장을 리턴 두개가 같은지 확인 assertEqual () 의 방법 의 TestCase는 클래스 상속을 구했다.

유닛 테스트는 글로벌 제공하는 주 () 쉽게 하나 개의 단위 테스트 스크립트에 테스트 모듈을 직접 실행할 수 있습니다 방법을. 주 () 메소드를 사용 TestLoader의 모든 모듈 반 술에 취해 검색 할 클래스를 시험 방법 "테스트"이름의 시작, 그리고 자동으로 실행합니다.

결과 :

 

추천

출처www.cnblogs.com/lirongyang/p/11505025.html