unittest-方法

unittest

unitest规范说明:

  • 类必须继承unittest.TestCase
  • 用例/方法必须以test开头
  • unittest.main()会自动执行该文件内所有符合规范的方法

setUp和tearDown方法

  • 每次执行test开头的用例都会执行setUp和tearDown方法
import unittest

class Mydemo(unittest.TestCase):
    def setUp(self):
        print('调用setUp方法')
        self.a = 1

    def test1(self):
        print("test1")

    def test2(self):
        print("test2")

    def test3(self):
        print("test3")

    def tearDown(self):
        print("调用tearDown方法")


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

Ran 3 tests in 0.000s

Launching unittests with arguments python -m unittest unitest.Mydemo
in D:\PycharmProjects\pythonProject OK

调用setUp方法
test1
调用tearDown方法
调用setUp方法
test2
调用tearDown方法
调用setUp方法
test3
调用tearDown方法

setUpClass和tearDownClass方法

import unittest
class Mydemo(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("调用setUpClass")
    def test1(self):
        print("i am test1")
    @classmethod
    def tearDownClass(cls):
        print("调用tearDownClass")
if __name__ == '__main__':
     unittest.main()

调用setUpClass
i am test1
调用tearDownClass

  1. 定义全局的属性,可以放到setUpClass中testCase中均可去调用

  2. testCase之间的执行顺序按照默认是以首字母排序的 l
    执行顺序test1,test10,…test18,test2,…test9

跳过某一用例

  • @unittest.skipIf(condition,reason)
#条件为真,则跳过
    @unittest.skipIf(a > 5,u'跳过')
    def test_1(self):
       print('?')
  • @unittest.skipUnless(condition,reason)
#条件为真,则执行
    @unittest.skipUnless(a < 5,u'跳过')
    def test_1(self):
       print('?')
  • @unittest.skip(reason’)
#强制跳转
    @unittest.skip(u'跳过')
    def test_fq(self):
        print('?')
  • @unittest.expectedFailure
    @unittest.expectedFailure
    #预期结果为失败,若断言为False,则表示该用例通过
    def test_fq(self):
        a = 1
        self.assertEqual(a,2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值