0
点赞
收藏
分享

微信扫一扫

【Python 千题 —— 基础篇】判断布尔值

unittest又名PyUnit, Python单元测试框架(The Python unit testing framework),简称为PyUnit。自从 Python 2.1 版本后,PyUnit成为 Python标准库的一部分。

为什么需要使用unittest单元测试框架?

当我们写的用例越来越多时,我们就需要考虑用例编写的规范、组织与管理,以便于后期的维护,而python-unittest正是这样一款工具。我们这里用一个简单示例来展示用unittest脚本是什么样子的。

创建计算器类calculator

# Calculator.py
class calculator(object):
   def __init__(self, a, b):
       self.a = a
       self.b = b

   def add(self):
       return (self.a + self.b)

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

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

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

创建一个简单的单元测试用例

import unittest  # 导入unittest  包
from unittest_doc.com.Calculator.Calculator import calculator  # 引入需要测试的包

# 所有用例需继承TestCase类或者其子类
class simple_test(unittest.TestCase):
   def setUp(self):
       print('@@@初始化test_simple@@@')
       self.a = calculator(1, 2)

   def test_add(self):
       print('---测试用例test_simple add---')
       self.assertEqual(self.a.minus(), -1, '两值不相等')
       self.assertEqual(self.a.add(), 3, '两值不相等')
       self.assertNotEqual(self.a.divide(), 1, '两值不相等')

   def test_divide(self):
       print('---测试用例test_simple divide---')
       self.assertEqual(self.a.divide(), 0.5)

   def tearDown(self):
       print('@@@结束test_simple@@@')

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

运行结果:

@@@初始化test_simple@@@
---测试用例test_simple add---
@@@结束test_simple@@@
@@@初始化test_simple@@@
---测试用例test_simple divide---
@@@结束test_simple@@@

测试用例由setUp(),test_add(),test_divide(),tearDown() 4个部分组成,它们放在一个继承于unittest.TestCase 的测试类下。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

仔细观察输出结果,每个用例运行前都会运行 setUp(),结束后会运行tearDown(),从这里应该能够看出他们两的作用。

一个TestCase 的实例就是一个测试用例。测试用例就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),实现测试过程的代码(run),以及测试后环境的还原(tearDown)。

单元测试(unittest)的本质也就在这里,一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个功能进行验证。

END今天的分享就到此结束了,点赞关注不迷路~

举报

相关推荐

0 条评论