python-unittest执行顺序

摘要:
unittest框架的执行顺序是:importounitestclassTestCases(unittest.TestCase):@classmethoddefsetUpClass(cls):setattr(unittest.TextTestResult,'startTestRun','gettokenmethod')print(“setUPClass”)defsetUp(self):print(“set

 关于unittest框架执行顺序是:

import unittest

class TestCases(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        setattr(unittest.TextTestResult, 'startTestRun', '获取token方法')
        print("setUPClass")

    def setUp(self):
        print("setUP")

    def testOne(self):
        print("testone111")
    def testTwo(self):
        print("testtwo222")

    @unittest.skip('跳过')
    def testA(self):
        print("testA")

    @unittest.skipIf(True,'条件真跳过')
    def testB(self):
        print("testB")

    @unittest.skipUnless(False,'条件假跳过')
    def testC(self):
        print("testC")

    @unittest.expectedFailure  ##标记该测试预期为失败(断言结果是否为False,为假则测试用例通过)
    def testD(self):
        print("testD")

    def tearDown(self):
        print("tearDown")

    @classmethod
    def tearDownClass(cls):
        print(getattr(unittest.TextTestResult, 'startTestRun'))
        print("tearDownClass")

if __name__ == '__main__':
    unittest.main(verbosity=2)


out:

setUPClass
setUP
testD
tearDown
setUP
testone111
tearDown
setUP
testtwo222
tearDown
获取token方法
tearDownClass

关于unittest用例执行顺序是:
  根据ASCII码的顺序加载,数字与字母的顺序为:0-9,A-Z,a-z。所以以A开头的测试用例方法会优先执行,以a开头会后执行

"""
unittest中测试用例执行顺序
"""

import unittest
from operator import eq

class TestOrder(unittest.TestCase):
    def test_b(self):
        print('test_b success')

    def test_a1(self):
        print('test_a1 success')

    def test_c(self):
        print('test_c success')

    def test_a2(self):
        print('test_a2 success')

if __name__ == '__main__':
    def ln(f):
        return getattr(TestOrder, f)
    suite = unittest.TestSuite()
    loader = unittest.TestLoader()
    # eq(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
    loader.sortTestMethodsUsing = lambda a, b: eq(ln(a), ln(b))
    suite.addTest(loader.loadTestsFromTestCase(TestOrder))
    unittest.TextTestRunner(verbosity=2).run(suite)

免责声明:文章转载自《python-unittest执行顺序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vuejs点滴并发服务器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

json(转)

例如:varjsonObj={StudentID:“100”,名称:“tmac”,家乡:“usa”};回到顶部,如何在JS中使用JSON是JS的一个子集,因此您可以轻松地在JS中读写JSON。例如,现在我们有一个TStudent的学生表。表中的字段和现有数据如图所示。从表中,我们可以看到总共五条数据。现在我们需要从数据库中获取这些数据,然后使用JSON.NE...

微信小游戏流量主广告接入指南!

游戏通过审核发布上线,累计注册用户达到1000后,可以在管理后台开启流量主功能。广告接入广告类型有三种:激励式视频、插屏和BannerBanner广告接入需要注意:1.广告要显示全,不能放在屏幕外。我的游戏被以上原因拒绝了两次。我的banner广告是放在底部正中间,取最小宽度200。也就是尽量的小,不影响游戏操作。激励视频按钮一定要有视频广告相关的提示!...

nginx配置跨域(CORS)、防盗链(valid_referers)、缓存(expires)、压缩(gzip)

它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服AJAX只能同源使用的限制。服务器根据这个值,在许可范围内,则在头信息包含Access-Control-Allow-Origin。...

开源跳板机jumpserver的安装部署和使用详细教程及踩坑经验

安装篇jumpserver需要依赖于mysql数据库,python开发工具的支持,所以需要安装一系列软件。按照提示进行所有流程的安装,安装完成之后访问http://ip:8000端口即可登录到jumpserver。因为jumpserver会在被管理的后端主机上通过此处指定的管理用户来添加指定的用户和sudo权限:配置sudo授权,用于添加sudo授权。...

如何设置Navicat的显示字体与字体大小?

方法/步骤打开Navicat点击菜单,再选择在界面,点击下的设置网格字体和大小设置编辑器字体和大小设置命令列界面字体和大小设置ER图表字体和大小,最后点击END...

PHP 垃圾回收机制(转)

GC进程通常从每个会话开始运行。GC的目的是在会话文件过期__destruct/unset__destruct()析构函数后自动销毁和删除它们。PHP将使用全局变量session.gc_Probability和session.gc_advisor的值session.gc_Probability=1,...