unittest单元测试框架简单使用

一、单元测试框架提供的功能:

1、用例的编写规范与执行;

2、提供专业的比较方法(断言);

3、提供丰富的测试日志:提供失败日志,成功用例数,失败用例数,执行时间等。

从单元测试提供的功能来看,可以帮助我们提供不同级别的测试:

  • 单元测试:unittest
  • HTTP接口自动化测试:unittest+Requests
  • Web UI自动化测试:unittest+selenium
  • 移动自动化测试:unittest+appium

二、编写测试用例

1、被测试函数:

class Calculator():
    def __init__(self,a,b):
        '实现两个数的加、减、乘、除'
        self.a = int(a)
        self.b = int(b)

    #加法
    def add(self):
        return self.a+self.b

    def sub(self):
        return self.a-self.b

    def mul(self):
        return self.a * self.b

    def div(self):
        return self.a / self.b

2、编写测试函数:

import unittest
from module import Calculator

class ModuleTest(unittest.TestCase):
    def setUp(self):
        self.cal = Calculator(8,4)

    def tearDown(self):
        pass

    def test_add(self):
         result = self.cal.add()
         self.assertEqual(result,12)

    def test_sub(self):
        result = self.cal.sub()
        self.assertEqual(result,4)

    def test_mul(self):
        result = self.cal.mul()
        self.assertEqual(result,32)

    def test_div(self):
        result = self.cal.div()
        self.assertEqual(result,2)

if __name__ == "__main__":
    #构造测试集
    #unittest.main()
    suite = unittest.TestSuite()
    suite.addTest(ModuleTest("test_add"))
    suite.addTest(ModuleTest("test_sub"))
    suite.addTest(ModuleTest("test_mul"))
    suite.addTest(ModuleTest("test_div"))

    runner = unittest.TextTestRunner()
    runner.run(suite)

解析:

首先,

通过import引入unittest引入单元测试框架。

创建ModuleTest类继承unittest.TestCase类。

setUp()和tearDown()为每一个测试用例的开始与结束,setUp()方法用于测试用例执行前的初始化工作,例如初始化变量、生成数据库测试数据、打开浏览器等。teardown则相反;

unittest要求测试用例要以“test”开头。如:test_add;

接下来,

调用unittest.TestSuite类的addTest()方法向测试套件中添加测试用例;

最后,通过unittest.TextTestRunner()类的run()方法运行测试套件中的测试用例;

如果想运行全部测试用例,使用if __name__ == "__main__":下的unittest.main()函数。main方法会自动查找当前文件继承unittest.TestSuite类的测试类,在测试类下匹配以“test”开头的方法并执行;

运行结果:

Testing started at 12:33 ...
C:\Users\46297\PycharmProjects\unittestTest\venv\Scripts\python.exe "E:\softwareInstall\PyCharm Community Edition 2018.1\helpers\pycharm\_jb_unittest_runner.py" --path C:/Users/46297/PycharmProjects/unittestTest/test.py
Launching unittests with arguments python -m unittest C:/Users/46297/PycharmProjects/unittestTest/test.py in C:\Users\46297\PycharmProjects\unittestTest


Ran 4 tests in 0.005s

OK

Process finished with exit code 0
 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值