zoukankan      html  css  js  c++  java
  • 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开头 ***

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

    '''


    十载长安得一第,何须空腹用高心
  • 相关阅读:
    久未更 ~ 四之 —— Vsftpd出现 Failed to start Vsftpd ftp daemon错误
    久未更 ~ 三之 —— CardView简单记录
    久未更 ~ 二之 —— TextView 文字省略
    久未更 ~ 一之 —— 关于ToolBar
    【UVA1636】决斗Headshot
    【NOIP模拟】花园
    【UVA1262】Password
    【UVA10820】交表
    【UVA1635】哑元
    【UVA12716】GCD和XOR
  • 原文地址:https://www.cnblogs.com/qzyhome/p/11570199.html
Copyright © 2011-2022 走看看