码迷,mamicode.com
首页 > 编程语言 > 详细

python接口自动化8-unittest框架使用

时间:2019-12-08 17:59:19      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:必须   顺序   多个   交流群   源码   nbsp   elf   com   独立   

前言

unittest:Python单元测试框架,基于Erich Gamma的JUnit和Kent Beck的sSmalltalk测试框架。

一、unittest框架基本使用

unittest需要注意的是:①类,继承单元测试unittest 的 TestCase类;②测试用例必须以test开头。学会基本前后置灵活运用以及断言即可。

1、setUp:每个用例“前”都执行 1 次、tearDown:每个用例“后”都执行 1 次、test开头的用例。

setUp、tearDown既是每次用例都执行的前后置。

from unittest import TestCase

# class 继承:TestCase
class Test_Login(TestCase):

    def setUp(self):
        print(每个用例“前”都执行 1 次)

    def tearDown(self):
        print(每个用例“后”都执行 1 次)

    # 以下是用例,需已 test 开头,用例可以写多个。
    def test_001(self):
        print(我是用例:case_01)

    def test_002(self):
        print(我是用例:case_02)

技术图片

 2、setUpClass:只执行一次前置;tearDownClass:只执行一次后置。

 需使用修饰符:@classmethod,且函数括号用:cls

from unittest import TestCase

# class 继承:TestCase
class Test_Login(TestCase):
    
    # 需使用修饰符:@classmethod,且函数用:cls
    @classmethod
    def setUpClass(cls):
        print(全部用例“前”只 执行 1 次)

    @classmethod
    def tearDownClass(cls):
        print(全部用例“后”只 执行 1 次)

    def setUp(self):
        print(每个用例“前”都执行 1 次)

    def tearDown(self):
        print(每个用例“后”都执行 1 次)

    # 以下是用例,需已 test 开头,用例可以写多个。
    def test_001(self):
        print(我是用例:case_01)

    def test_002(self):
        print(我是用例:case_02)

技术图片

 3、常用的两种断言方法(基本能供日常使用,不够自己去翻TestCase源码,如图二)

①两值相等:assertEqual(a , b)

②A值在B值里面:assertIn(A, B, msg) ;msg自己想写啥就写啥,类似出现错误后备注:断言失败返回控制台日志,等等

from unittest import TestCase

# class 继承:TestCase
class Test_Login(TestCase):

    def setUp(self):
        print(每个用例“前”都执行 1 次)

    def tearDown(self):
        print(每个用例“后”都执行 1 次)

    # 以下是用例,需已 test 开头,用例可以写多个。
    def test_001(self):
        print(我是用例:case_01)
        self.assertEqual((1+2), 3)                      # 断言两个值相等

    def test_002(self):
        print(我是用例:case_02)
        res = 广深  # 假如这是实际结果
        self.assertIn(小龙, res, msg=他说没有小龙)  # 断言 小龙 在 res 中,如果不在msg是返回值
        self.assertTrue(res == 广深)                  # 断言两个值相等(也可以False,断言==、!=、in

技术图片

技术图片

 注意:不要执行用例去调用用例,用例是相互独立的,执行用例的顺序按照assic码:0-9 ,A-Z, a-z。欢迎来QQ交流群:482713805

python接口自动化8-unittest框架使用

标签:必须   顺序   多个   交流群   源码   nbsp   elf   com   独立   

原文地址:https://www.cnblogs.com/gsxl/p/11964177.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!