Pytest入门笔记(一)-- pytest与unittest区别

一、unittest

Unittest是Python标准库中自带的单元测试框架,Unittest也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架。

Unittest支持自动化测试,测试用例的初始化、关闭和测试用例的聚合等功能,它有一个很重的特性:它是通过类(class)的方式,将测试用例组织在一起。

 1 # 导入unittest模块
 2 import unittest
 3 # 应用unittest框架,类必须继承 unittest.TestCase
 4 class UnitDemo(unittest.TestCase):
 5     # 普通函数封装
 6     def test_login(self):
 7         print("unittest demo!")
 8         self.assertEqual('123', '123', msg='断言失败')
 9 
10 if __name__ == '__main__':
11     # unittest 执行测试用例的行为
12     unittest.main()

二、Pytest

Pytest是Python的另一个第三方单元测试库。目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。

Pytest的特性有:

  • 支持用简单的assert语句实现丰富的断言,无需复杂的self.assert*函数;
  • 自动识别测试模块和测试函数;
  • 模块化夹具用于管理各类测试资源;
  • 对Unittest完全兼容,对nose基本兼容;
  • 支持Python3 和 PyPy3;
  • 丰富的插件生态,社区繁荣。

三、Pytest VS Unittest

 

posted @ 2021-11-14 15:41  Spavilion  阅读(134)  评论(0)    收藏  举报