快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

unittest怎么用-创新互联

这篇文章将为大家详细讲解有关unittest怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比洛隆网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式洛隆网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖洛隆地区。费用合理售后完善,10年实体公司更值得信赖。

1.单元测试

  • 单元测试是指对软件中的最小可测试单元进行检查和验证,Python中有一个自带的单元测试框架unittest模块,不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果;

2.unittest库中的基本组件

  • unittest.TestCase():是所有测试用例类继承的基本类,一个类只要继承了unittest中的TestCase类就是一个测试用例类,就可以在类中写测试用例;

from unittest import TestCase, main
class MyTest(TestCase):  # 继承unittest.TestCase
    def setUp(self):
        # 测试用例执行前的初始化工作
        print('开始执行')
    def tearDown(self):
        # 测试用例执行之后的善后工作
        print('执行完毕')
    def testWay(self):
        print('这是测试用例')
if __name__ == '__main__':
    main()  # 运行所有的测试用例
  • unittest.TestSuite():用来创建测试套件,其中有一个addTest()方法可以将一个或多个测试用例添加到测试套件中,先添加的哪个方法就先运行哪个方法;

  • unittest.TextTextRunner():通过该类中的run()方法来运行suite所组装的测试用例;

  • unittest.defaultTestLoader():通过该类下面的discover()方法可自动根据测试目录start_dir匹 配查找测试用例模块(以test开头,以.py结尾的文件,例如:test*.py), 并将查找到的测试用例 组装到测试套件,因此可以直接通过run()方法执行discover;

  • unittest.skip():装饰器,可过滤不需要执行的用例,使这个用例不执行;

  • unittest.main():可以方便的将一个单元测试模块变为可直接运行的测试脚本,main()方法使 用TestLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行他们 ;

3.TestCase类中的方法

  • setUp()方法:用于测试用例执行前的初始化。如测试用例中需要访问数据库,可以在setUp中建立数据库连接并进行初始化。如果测试用例需要登录web,可以先获取cookie,获取文件句柄;

  • tearDown()方法:用于测试用例执行之后的善后工作,如关闭数据库连接,关闭文件;

  • assert*():断言方法,相当于if-else里面的条件判断,在执行测试用例的过程中,最终用例是否执行通过,是通过判断测试得到的实际结果和预期结果是否相等决定的;

4.unittest中常用的断言方法

  • assertEqual(self, first, second, msg=None):判断两个参数是否相等,如果相等则测试用例通过;

  • assertNotEqual(self, first, second, msg=None):判断两个参数是否相等,如果不相等则测试用例通过;

  • assertTrue(self, expr, msg=None):判断是否为真,为真则测试用例通过;

  • assertFalse(self, expr, msg=None):判断是否为假,为假则测试用例通过;

  • assertIs(a, b, msg=None):断言a是否是b,如果是则测试用例通过。

  • 更多的断言方法可以查看官网: /tupian/20230522/unittest.html id="h4-5-">5.编写测试用例

    • 首先从unittest模块中导入TestCase、main等需要用到的类;

    • 然后自定义一个类继承TestCase类;

    • 可以重写TestCase类中的setUp()初始化方法,和tearDown()清理方法,这两个方法是成对出 现的;

    • 然后编写以字母开头的测试用例,执行顺序默认是根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z

    • 最后调用unittest.main()方法将一个单元测试模块变成可以直接运行的测试脚本,然后自动执行测试用例;

    from unittest import TestCase, main
    class MyTestCase(TestCase):
        # setUp、tearDown每次执行一个test开头的方法时,都会调用一次
        def setUp(self):
            print('setup')
        def tearDown(self):
            print('tearDown')
        def test_1(self):
            print('第一个测试用例')
        def test_2(self):
            print('第二个测试用例')
    if __name__ == '__main__':
        main()

    关于“unittest怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


    当前文章:unittest怎么用-创新互联
    URL标题:http://6mz.cn/article/cocsss.html

其他资讯