Python3-之UnitTest(一)

52 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天,点击查看活动详情

src=http___i.cqdj.cc_forum_201307_27_160601dupc4j8gucap6mld.gif&refer=http___i.cqdj.gif

   您好,我是游手好闲的小羊!

一、UnitTest 基本使用

说明:

  • 框架英文单词framework;
  • 为解决一类事情的功能集合;

什么是UnitTest 框架?

说明:UnitTest 是Python 自带的一个单元测试框架,用它来做单元测试。

为什么使用UnitTest 框架?

  • 能够组织多个用例去执行;
  • 提供丰富的断言方法;
  • 能够生成测试报告;

UnitTest 核心要素

  • TestCase;
  • TestSuite;
  • TestRunner;
  • TestLoader;
  • Fixture;

TestCase

说明:TestCase 就是测试用例的意思。

案例1

定义一个实现加法操作的函数,并对该函数进行测试。 定义测试用例:

  • 1、导包:import unittest;
  • 2、定义测试类:新建测试类必须继承unittest.TestCase;
  • 3、定义测试方法:测试方法名称命名必须以test 开头;
  • 4、调用unittest.main() 执行测试用例;
# a.py
# 导包
import unittest
def my_sum(a, b):
    return a + b
class my_test(unittest.TestCase):
    def test_01(self):
        print(my_sum(4, 6))
    def test_02(self):
        print(my_sum(3, 2))

TestSuite

说明:(翻译:测试套件)多条测试用例集合在一起,就是一个TestSuite。

使用:

  • 1、实例化: suite = unittest.TestSuite()
  • (suite:为TestSuite 实例化的名称)
  • 2、添加用例:suite.addTest(ClassName("MethodName"))
  • (ClassName:为类名;MethodName:为方法名)
  • 3、添加扩展:suite.addTest(unittest.makeSuite(ClassName))
  • (搜索指定ClassName 内test 开头的方法并添加到测试套件中) 。
  • 提示:TestSuite 需要配合TextTestRunner 才能被执行

TextTestRunner

说明:TextTestRunner 是用来执行测试用例和测试套件的

使用:

  • 1、实例化: runner = unittest.TextTestRunner()
  • 2、执行: runner.run(suite) # suite:为测试套件名称

案例:

将test01.py..test02.py 共2 条用例,将这2 条用例批量执行;

  1. 示例代码
# test01.py
# 导包
import unittest
class my_test01(unittest.TestCase):
    def test_01(self):
        print("my_test01 的test01")
    def test_02(self):
        print("my_test01 的test02")
# test02.py
# 导包
import unittest
class my_test02(unittest.TestCase):
    def test_01(self):
        print("my_test02 的test01")
    def test_02(self):
        print("my_test02 的test02")

执行测试用例.....

我是爱分享的小羊,最近阳了!