unittest 框架

一.是什么:是python自带的一个单元测试框架,也是python里面最基本的单元测试框架,存放在python中的lib目录下

为什么使用:在本次项目内使用,来为我们组织测试用例

unittest 中的四个核心概念

test Case 测试用例

test fixture 测试夹具

test runner 测试执行

test suite 测试套件

 二.unittest的书写规则

1.测试文件必须以test开头 如:test_01_unittest入门脚本.py

2.测试类必须继承unittest.TestCase类

3.测试类也必须Test开头 如:class TestLogin(unittest.TestCase)

4.测试方法最好以小写test开头 如 :def test_01_login(self):

5.在测试py文件中去执行代码,unittest.main()

6.在测试类里面,可以有普通方法,但是普通方法需要被测试方法调用

三.test fixture 测试夹具

语法:

方法级别:setup()  每个测试方法之前执行的代码

                  teardown()  每个测试方法之后执行代码

类级别:setupclass()  每个测试类之前执行的方法

              teardownclass()  每个测试类之后执行的方法

类级别都需要使用@classmethod装饰器

四.测试用例的执行顺序

在unittest中,顺序默认按照AscII码的顺序

        自定义用例执行顺序:给每一条用例前面加上序号

五 .断言

判断预期结果和实际结果是否相符合

语法:

self.assertEqual(a,b,msg=‘错误描述‘) --------判断a ==b成立,则用例通过

self.assertTrue(x,msg='错误')--------------判断表达式是否为true,为true用例通过

self.assertin(a,b,msg='错误')--------------判断a  in   b 成立,则用例通过

六.跳过测试

# 装饰器实现跳过用例

1.当我们写的部分用例,在某些情况下不需要去执行,可以跳过

2.当系统跟新之后,部分测试用例失效,但是不确定后面是否还会再改回来,就直接跳过

@unittest.skip()------没有条件,直接跳过

@unittest.skipif(表达式,原因)表达式为真跳过

@unittest.skipunless(表达式,原因)表达式为假,跳过

七.测试套件(适合作为调试用例)

把需要执行的用例放到一个套子中-------test suite

suite = unittest.Testsuite()

suite.addTest(测试类('测试方法'))

八.测试执行

使用测试执行去执行所有在套子中的用例------test runner

runner = unittest.TestRunner()

runner.run(suite)

# 补充

runAllCase:

test suite:unittest.defaultTest:oader.discover(start-dir=用例目录,pattern=选取用例执行的规则)

九.HTMLTestRunner:第三方插件

1.生成报告放在report里面

2.生成报告 应该以.html结尾

10.数据驱动

# 有点用例只是参数不一样,其他代码完全一样,可以通过改变参数来实现一条用例方法,

执行多种不同的测试场景,在unittest中使用ddt来提供

# ddt可以参数化读取列表嵌套列表形式,

列表嵌套字典的数据

# 列表嵌套列表读取:
    先在类前面加上: @ddt.ddt
    在方法前面加上: @ddt.data(*列表嵌套列表)
                   @ddt.unpack

#  列表嵌套字典读取:
    先在类前面加上: @ddt.ddt
    在方法前面加上: @ddt.data(*列表嵌套列表)
                  在方法里面使用一个形式参数来接收

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值