zoukankan      html  css  js  c++  java
  • Python

    一、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


  • 相关阅读:
    Hyperledger Fabric:最简单的方式测试你的链码
    ETCD:客户端v3
    ETCD:gRPC命名与发现
    ETCD:HTTP JSON API通过gRPC网关
    ETCD:TLS
    ETCD:基于角色的访问控制
    ETCD:多机上的集群
    ETCD:etcd网关
    ETCD:在容器中运行etcd集群
    ETCD:词汇表
  • 原文地址:https://www.cnblogs.com/snailrunning/p/12205859.html
Copyright © 2011-2022 走看看