구현의 여러 유닛 테스트 === 유닛 테스트

#의 demo.py의 

수입
요청을 가져올 JSON의 클래스 RunMain을 : 데프 __init__ (자기, URL, 방법, 데이터 = 없음) : self.data = 데이터 self.url = URL의 self.method = 방법 self.res = self.run_main () DEF url_post (자기) : 고해상도 = requests.post (URL = self.url, 데이터 = self.data) .json () 반환 고해상도 DEF : url_get (자기) 고해상도를Requests.get는 = (= self.url의 URL은 데이터 = self.data) .json은 () 반환 고해상도 #의 JSON 데이터는 고해상도의 반환 #을 들여 노출 들여 #의 sort_keys을 일종의 # 반환 json.dumps (고해상도, 들여 쓰기 = 2, sort_keys 진정한 =) #이 방법을 재 포장,이 게시물을 수행하고 요청을받을 DEF ) 자기 (run_main : RES = 없음 IF self.method == ' 가져 오기 ' : RES = self.url_get () 다른 : RES = self.url_post ( ) 반환입술 경우 __name__ == " __main__ " : url_p = " https://easy-mock.com/mock/5d0cce9536b12b2b2e62adc7/example/upload " 데이터 = { " 안녕하세요 " : " 세계 " , " botoo " : " 123 " } url_g = " https://easy-mock.com/mock/5d0cce9536b12b2b2e62adc7/example/query " g = RunMain (url_g," GET" )가 .RES 인쇄 (g) P = RunMain은 (url_p, " POST " 데이터 = 된 데이터) .RES 인쇄 ) (p

 

 

 

# Unittest-test.py 

가져 오기는 유닛 테스트
 에서 데모 가져 오기 RunMain
 가져 오기 HtmlTestRunner의 

클래스 TestMethod (unittest.TestCase) :
         #의 클래스 메소드는 

        @classmethod 
        DEF setUpClass (CLS) :
                 인쇄 ( " 실행 방법 클래스 전에 " ) 
                
        @classmethod 
        DEF tearDownClass을 (CLS) :
                 인쇄 ( " 클래스 실행 후 방법 " ) 

                
        #은 각 방법은 실행하기 전에 
        DEF : 설정 (셀프)
                 인쇄 ( " 설정" ) 

        데프 test_01 (자동) : 

                url_p = " https://easy-mock.com/mock/5d0cce9536b12b2b2e62adc7/example/upload " 
                데이터 = {
                         " 안녕하세요 " : " 세계 " ,
                         " botoo " : " 123 " 
                        } 

                고해상도 = RunMain은 (url_p, " POST " , 데이터) .RES
                 #의 인쇄 (고해상도) 
                자체.assertIn ( "undefined_http " , STR (입술 [ ' 데이터 ' ])) 
                전역 () ' IMG ' = 입술 [ ' 데이터 ' ] [ ' IMG ' ]     # 加入缓存

        DEF test_02 (자기)
                 인쇄 (IMG) 

                url_g = " HTTPS : //easy-mock.com/mock/5d0cce9536b12b2b2e62adc7/example/query " 
                고해상도 = RunMain은 (url_g, " GET " ) .RES 
                (self.assertEqual를 "HAH ", RES [ ' 데이터 ' ] [ ' 이름 ' ])
                 #에 인쇄 (RES) 

        @ unittest.skip 
        DEF test_03 (자기)
                 전단 (IMG) 
                
        # 방법이 이후에 수행 될 때마다 
        DEF 의 tearDown (자기)
                 인쇄 ( " 의 tearDown " ) 


IF  __name__ == " __main__ " :
         "" " 
        # 방법 하나 
        unittest.main () 
        " "" 

        "" "
        두 번째 방법 # : 
        # 실행이 선박에 추가 된 
        제품군 = unittest.TestSuite ()
        suite.addTest (TestMethod ( "test_01")) 
        suite.addTest (TestMethod ( "test_02")) 
        suite.addTest (TestMethod ( "test_03")) 
        unittest.TextTestRunner (). RUN (스위트) 
        "" " 

        " "" 
        # 방법 세 가지 : 
        #은 시험 보고서에 추가, 모든 케이스 수행 
        (HtmlTestRunner.HTMLTestRunner의 TestRunner = (출력 = 'example_dir')) unittest.main 
        "" " 

        " "" 
        : # 네 
        #는 선박을 수행, 시험 보고서에 추가가 추가 된 케이스 
        = 스위트 unittest.TestSuite () 
        suite.addTest (TestMethod ( "test_01")) 
        suite.addTest (TestMethod ( "test_02")) 
        suite.addTest (TestMethod ( "test_03")) 
        의 TestRunner HtmlTestRunner.HTMLTestRunner = (출력 = 'example_dir')
        testRunner.run (스위트) 
        "" "
        
                

 

추천

출처www.cnblogs.com/botoo/p/11068660.html