zoukankan      html  css  js  c++  java
  • unittest===unittest 的几种执行方式

    #demo.py

    import
    requests import json class RunMain: def __init__(self, url, method, data=None): self.data = data self.url = url self.method = method self.res = self.run_main() def url_post(self): res = requests.post(url = self.url, data = self.data).json() return res def url_get(self): res = requests.get(url= self.url, data = self.data).json() return res # res 返回的json数据 # indent 缩进展示 # sort_keys 排序 # return json.dumps(res,indent = 2, sort_keys = True) #再封装一个方法,让它执行post和get请求 def run_main(self): res = None if self.method == 'GET': res = self.url_get() else: res = self.url_post() return res if __name__ == "__main__": url_p = "https://easy-mock.com/mock/5d0cce9536b12b2b2e62adc7/example/upload" data = { "hello":"world", "botoo":"123" } url_g ="https://easy-mock.com/mock/5d0cce9536b12b2b2e62adc7/example/query" g = RunMain(url_g,"GET").res print(g) p = RunMain(url_p,"POST",data = data ).res print(p)
    #unittest-test.py
    
    import unittest
    from demo import RunMain
    import HtmlTestRunner
    
    class TestMethod(unittest.TestCase):
            #类方法
    
            @classmethod
            def setUpClass(cls):
                    print("类执行之前的方法")
                    
            @classmethod
            def tearDownClass(cls):
                    print("类执行之后的方法")
    
                    
            #每次方法之前执行
            def setUp(self):
                    print("setup")
    
            def test_01(self):
    
                    url_p = "https://easy-mock.com/mock/5d0cce9536b12b2b2e62adc7/example/upload"
                    data = {
                            "hello":"world",
                            "botoo":"123"
                            }
    
                    res = RunMain(url_p,"POST",data).res
                    #print(res)
                    self.assertIn("undefined_http",str(res['data']))
                    globals()['img'] = res['data']['img']    #加入缓存
    
            def test_02(self):
                    print(img)
    
                    url_g ="https://easy-mock.com/mock/5d0cce9536b12b2b2e62adc7/example/query"
                    res =  RunMain(url_g,"GET").res
                    self.assertEqual("hah",res['data']['name'])
                    #print(res)
    
            @unittest.skip
            def test_03(self):
                    print(img)
                    
            #每次方法之后执行
            def tearDown(self):
                    print("teardown")
    
    
    if __name__ == "__main__":
            """
            #方法一:
            unittest.main()
            """
    
            """
            #方法二:
            #加入容器中执行
            suite=unittest.TestSuite()
            suite.addTest(TestMethod("test_01"))
            suite.addTest(TestMethod("test_02"))
            suite.addTest(TestMethod("test_03"))
            unittest.TextTestRunner().run(suite)
            """
    
            """
            #方法三:
            #加入测试报告,执行所有case
            unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output='example_dir'))
            """
    
            """
            #方法四:
            #加入测试报告,执行加入容器的case
            suite = unittest.TestSuite()
            suite.addTest(TestMethod("test_01"))
            suite.addTest(TestMethod("test_02"))
            suite.addTest(TestMethod("test_03"))
            testRunner=HtmlTestRunner.HTMLTestRunner(output='example_dir')
            testRunner.run(suite)
            """
            
                    

    【总结】

    如果你也喜欢Python,这里有一群Python爱好者汇集在此。

    关注微信公众号:【软件测试技术】,回复 888,获取QQ群号。

  • 相关阅读:
    zabbix系列(七)zabbix3.0添加对tcp连接数及状态的监控
    zabbix系列(六)zabbix添加对ubuntu系统的监控
    zabbix系列(六)zabbix添加对ubuntu系统的监控
    centos命令行变成了-bash-4.1$的解决办法
    zabbix常见报错问题处理
    sqlyog通过跳板机ssh连接mysql数据库
    centos系统初始化脚本
    修改centos和ubuntu ssh远程连接端口提升系统安全性
    listener failed: zbx_tcp_listen() fatal error: unable to serve on any address [[-]:20050]
    zabbix系列(五)zabbix3.0.4 探索主机Discovery自动发现主机详细图文教程
  • 原文地址:https://www.cnblogs.com/botoo/p/11068660.html
Copyright © 2011-2022 走看看