python中unittest框架的使用

总结一下经常使用的unittest中的方法

1,class XX(unittest.TextCase):继承unittest.TextCase的类

2,标记以test开头的方法就是一个单独的测试用例,setup,teardown两个实用的方法与区别见图

3,执行顺序是我们最关心的,unittest 框架默认根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0~9,A~Z,a~z

目前我还在定义方法名称时,加数字,强迫症,好的一些方法还要后面发觉

4,(1)"单独执行一个测试用例test"#不要忘记写类的名称,标记是在那个类中的测试用例.

# suite = unittest.TestSuite()
# suite.addTest(ceshi('test_003'))
# runner = unittest.TextTestRunner()
# runner.run(suite)
(2)"运行多个测试用例test,注:加s,一定要加()"
# suite = unittest.TestSuite()
# tests=[ceshi('test_001'),ceshi('test_002')]
# suite.addTests(tests)#这个地方要加S,并且传入的是一个列表
# runner = unittest.TextTestRunner(verbosity=2)
# runner.run(suite)
(3)"按照类(测试类class)来执行"
# suite = unittest.TestSuite(unittest.makeSuite(ceshi))
# runner = unittest.TextTestRunner()
# runner.run(suite)
(4)"加载整个测试类来执行"
suite = unittest.TestLoader().loadTestsFromTestCase(ceshiONE)
runner = unittest.TextTestRunner(verbosity=1)
runner.run(suite)
(5)"加载模块,也就是一个py文件来进行执行"#在unittest模式中执行,普通执行不行的
# suite = unittest.TestLoader().loadTestsFromModule('F1.py')
# runner = unittest.TextTestRunner(verbosity=2)
# runner.run(suite)
(6)批量执行测试用例使用unittest.TestLoader().discover()
"""注意事项
discover是递归匹配文件的,如果设定的目录是测试用例的根目录的话,
discover会去匹配每个子目录下的所有用例,匹配成功的用例就加载到discover,
但是在这里需要注意一点,存放用例的目录属性必须是python package,
必须要有__init__.py,不然不会获取成功
"""
"""
start_dir:要测试的模块名或测试用例的目录。
pattent=‘test*.py’:表示用例文件名的匹配原则。此处匹配文件名一test开头的所有.py类型文件,*表示任意多个字符。
top_level_dir=None :测试模块的顶层目录,如果没有顶层目录,默认为None。
"""
def allTests():
    #1,找到所有以XX开头的文件,
    #2,加载到discover中
    #3,discover方法中的参数start_dir, pattern='test*.py', top_level_dir=None
    suite = unittest.TestLoader().discover(
        start_dir=os.path.dirname(__file__),
        pattern='F*.py',#匹配测试用例,以什么开头的*.py就可以

    )
    return suite


unittest.TextTestRunner(verbosity=2).run(allTests())
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值