程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Python - Unittest小结

发布于2020-01-20 18:29     阅读(1480)     评论(0)     点赞(12)     收藏(3)


一、Unittest

单元测试框架,可用于自动化测试用力组织,执行,输出结果


二、Unittest构成

  1. Test Case
  2. Test Suite
  3. Test Fixture
  4. Test Runner

image
(图片来源于网络)


Test Case

一个测试用例是一个独立的测试单元。它检查输入特定的数据时的响应。 unittest 提供一个基类: TestCase ,用于新建测试用例。

一个完整的用例需要遵循3A原则

  • Arrange: 初始化测试对象或者准备测试数据
  • Act : 调用被测方法
  • Assert: 断言(预期结果与实际结果的比较)


test suite

用于组织测试用例,测试用例的集合

戳我获取 —> 组织用例的姿势


Test Fixture

测试脚手架 test fixture 表示为了开展一项或多项测试所需要进行的准备工作,以及所有相关的清理操作。

  • 定义单个或者多个测试所需的环境准备(setUp),以及环境清理(tearDown)。
  • 例:连接数据库,或者创建Selenium WebDriver driver实例


test runner

测试运行器 是一个用于执行和输出测试结果的组件。这个运行器可能使用图形接口、文本接口,或返回一个特定的值表示运行测试的结果

demo.py

import unittest

class TestDemo(unittest.TestCase):

    # 初始化测试对象或者准备测试数据
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def add(self, a, b):
        return a + b
    
    # 调用被测方法
    def test_case_one(self):
        ret = self.add(1, 2)
        # 断言
        self.assertEqual(3, ret)

    def test_case_two(self):
        ret = self.add(1, 2)
        self.assertEqual(1, ret)

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


Uittest使用要点:

  1. 被测方法名需以test开头,否则不被识别
  2. verbosity参数默认为1,有3个参数可选(0,1,2),用于表示控制台输出报告的详细程度


推荐阅读

Uittest官网
灰蓝 Python必会的单元测试框架 —— unittest
测试教程网 Uittest




所属网站分类: 技术文章 > 博客

作者:听爸爸的话

链接:https://www.pythonheidong.com/blog/article/229225/857f3e597fdabca4bd44/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

12 0
收藏该文
已收藏

评论内容:(最多支持255个字符)