• python-zx笔记9-单元测试


    unittest核心

    1.TestCase

    一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。元测试(unit test)的本质也就在这里,一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。

    2.TestSuite

    而多个测试用例集合在一起,就是TestSuite,而且TestSuite也可以嵌套TestSuiteTestLoader是用来加载TestCaseTestSuite中的,其中有几个loadTestsFrom__()方法,就是从各个地方寻找TestCase,创建它们的实例,然后addTestSuite中,再返回一个TestSuite实例。

    3.TextTestRunner

    TextTestRunner是来执行测试用例的,其中的run(test)会执行TestSuite/TestCase中的run(result)方法。 测试的结果会保存到TextTestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息。

    4.Fixture

    而对一个测试用例环境的搭建和销毁,是一个fixture

    //calculator.py
    
    class Math:
        def __init__(self,a,b):
            self.a = int(a)
            self.b = int(b)
    
        def add(self):
            return self.a + self.b
    
        def jian(self):
            return self.a - self.b

    单元测试

     1 from calculator import Math
     2 import unittest
     3 
     4 class TestMath(unittest.TestCase):
     5     def setUp(self):
     6         print("Start test")
     7 
     8     def test_add(self):
     9         j = Math(5,10)
    10         self.assertEqual(j.add(),15)
    11         # self.assertEqual(j.add(),12)
    12 
    13     def tearDown(self):
    14         print("test end")
    15 
    16 if __name__=='__main__':
    17     #构造测试集
    18     suite = unittest.TestSuite()
    19     suite.addTest(TestMath("test_add"))
    20 
    21     #执行测试
    22     runner = unittest.TextTestRunner()
    23     runner.run(suite)
  • 相关阅读:
    基于RSA securID的Radius二次验证java实现(PAP验证方式)
    一些指令 & 一些知识 (Linux Spring log4j...)
    RSA, ACS5.X 集成配置
    Python中的动态属性与描述符
    设计模式(一):单例模式
    JavaWeb
    动态规划_背包问题
    动态规划_最长上升子序列
    MySQL复习
    动态规划_数字三角形
  • 原文地址:https://www.cnblogs.com/bell1991/p/8436458.html
Copyright © 2020-2023  润新知