• python_单元测试unittest(1)


    ''''''
    '''
    1、运行方式
    1、鼠标右击
    2、在Terminal(控制台)中运行:
    先加上
    if __name__=='__main__':
    unittest.main()
    Terminal(控制台)输入命令: python <模块名.py>

    2、测试套件(TestSuite)
    命令(全部)执行: python -m unittest <模块名.py>
    单个执行: python -m unittest <模块名.类名>
    python -m unittest <模块名.类名.方法名>


    3、加载(TestLoader)
    需要先初始化一个对象,suite 测试套件(集合)
    3.1--第一种方法)
    #初始化测试套件
    suite=unittest.Testsuite()

    #往测试套件里面添加测试用例,先导入模块
    cases=[类名('方法名'),类名('方法名')]
    suite.addTests(cases)

    3.2--第二种方法)
    suite=unittest.Testsuite(tests=cases)


    4、运行,测试报告文件,

    先打开一个文件
    with open('txt','w',encoding='utf8') as f:
    #初始化runner,日志详细级别,略->细(0,1(默认),2)
    runner=unittest.TextTestRunner(f,verbosity=0)
    #运行
    runner.run(suite)

    5、unittest用例执行顺序是根据方法名,具体是根据ASCII编码
    如果根据ASCII编码,可以加数值
    def test_add_1_success(self):
    pass
    def test_add_2_success(self):
    pass

    6、setUp和tearDown #注意大小写
    def setUp(self):
    #前置条件
    #测试用例方法之前自动执行setup里面的程序
    def TearDown(self):
    #后置条件
    #测试用例方法之后自动执行Teardown里面的程序


    7、TestLoader 用来加载测试用例
    #可以根据模块加载,也可以根据测试类加载,自己定义规则,自动加载;
    7.1) 初始化loader
    loader=unittest.TestLoader()
    #根据测试类去加载测试用例
    cases=loader.loadTestFromTestCase(类名)
    suite1=unittest.TestSuite()
    suite1.addTests(cases)

    8、自动发现测试用例(discover)
    # suite=unittest.TestSuite()
    #初始化loader
    loader=unittest.Testloader()
    #自动发现测试用例
    start_dir=os.path.dirname(os.path.abspath(__file__))
    suite1=loader.discover(start_dir)

    9.HTMLtestrunner
    9.1导入HTMLtestrunner
    from HTMLTestRunnerNew import HTMLTestrunner
    修改部分
    with open('dem.html','wb') as f:
    #初始化runner,日志详细级别,略->细(0,1(默认),2)
    runner=unittest.TextTestRunner(f,verbosity=2,title='测试报告名称',tester='测试人员名称')
    #运行
    runner.run(suite)

    9.2测试报告放到一个report文件夹
    时间动态的生成一个文件名

    先生成一个report文件夹
    report_dir=os.path.join(start_dir,'report')
    if not os.path.exists(report_dir):
    os.mkdir(report_dir)

    #报告格式report/2019-09-19.html
    导入datatime
    from datatime import datatime
    time_str=datatime.now().strftime('%Y-%m-%d %H:%M:%S')
    file_name=os.path.join(report_dir,time_str+'html')


    ***************************

    *** 测试用例必须以test开头 ***

    ***************************

    '''


    十载长安得一第,何须空腹用高心
  • 相关阅读:
    centos下安装nethogs
    Nginx+Tomcat反向代理利用certbot实现https
    Mysql主从复制读写分离
    短链接及关键字过滤ac自动机设计思路
    接口访问加密和限频方案
    算法笔记
    redis原理及使用
    memcached原理
    Spring中AOP的两种代理方式(Java动态代理和CGLIB代理-转载
    基于注解的Spring AOP的配置和使用--转载
  • 原文地址:https://www.cnblogs.com/qzyhome/p/11570199.html
Copyright © 2020-2023  润新知