zoukankan      html  css  js  c++  java
  • unittest的文档4个重要的概念.py

    """
    1.Test Case
    一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,
    包括测试前准备环境的搭建(setUp)、实现测试过程的代码(run),以及测试后环境的还原(tearDown)。
    单元测试(unit test)的本质也就在这里,一个测试用例就是一个完整的测试单元,通过运行这个测试单元,
    可以对某一个功能进行验证。
    2.Test Suite
    一个功能的验证往往需要多个测试用例,可以把多个测试用例集合在一起来执行,
    这就产生了测试套件TestSuite的概念。Test Suite用来组装单个测试用例。
    可以通过addTest加载TestCase到TestSuite中,从而返回一个TestSuite实例。
    3.Test Runner
    测试的执行也是单元测试中非常重要的一个概念,一般单元测试框架中都会提供丰富的执行策略和执行结果。
    在unittest单元测试框架中,通过TextTestRunner类提供的run()方法来执行test suite/test case。
    test runner可以使用图形界面、文本界面,或返回一个特殊的值等方式来表示测试执行的结果。
    4.Test Fixture
    对一个测试用例环境的搭建和销毁,就是一个fixture,通过覆盖TestCase的 setUp()和tearDown()方法来实现。
    有什么用呢?比如说在这个测试用例中需要访问数据库,那么可以在setUp()中通过建立数据库连接来进行初始化,
    在tearDown()中清除数据库产生的数据,然后关闭连接等。
    """
    from calculator import Count
    import unittest
    class TestCount(unittest.TestCase):
    def setUp(self):
    print("test start")

    def test_add(self):
    j = Count(2,3)
    self.assertEqual(j.add(),5)

    def test_add2(self):
    j = Count(41,76)
    self.assertEqual(j.add(),117)

    def tearDown(self):
    print("test end")

    if __name__ == '__main__':
    #构造测试集:
    suite = unittest.TestSuite()
    suite.addTest(TestCount("test_add2"))
    #执行测试:
    runner = unittest.TextTestRunner()
    runner.run(suite)

    """
    在前面例子的基础上编写了第二个测试用例test_add2()。由于第一个测试用例已经运行通过,
    因此这次只需运行第二条测试用例。在代码的最后,我们去掉了main)方法,
    采用构造测试集的方法来加载与运行测试用例,实现了有选择地执行测试用例。当然,
    也可以通过注释的方式注释掉第一条用例,但这种做法并不优雅。首先,
    调用unittest框架的TestSuite()类来创建测试套件,通过它所提供的addTest()方法来添加测试用例test_add2()。
    接着调用unitest框架的TextTestRunner()类,通过它下面的run()方法来运行suite所组装的测试用例。
    """
  • 相关阅读:
    spring boot + activeMq 邮件服务
    spring boot集成activeMQ
    Java做爬虫也很方便
    Go语言学习03
    MongoDB学习-->Gridfs分布式存储&DBRef关联查询
    tomcat与oracle关于8080端口的冲突
    端口号的查找处理方法
    很不错的在线Office控件:IWebOffice与SOAOffice
    SOAOffice和iWebOffice、NTKO的比较及其优势(转)
    Cannot get a connection, pool exhausted解决办法
  • 原文地址:https://www.cnblogs.com/zhang-da/p/12210609.html
Copyright © 2011-2022 走看看