首页 > 其他 > 详细

unittest编写并运行测试用例

时间:2019-12-21 16:12:09      阅读:88      评论:0      收藏:0      [点我收藏+]

一、unittest编写测试用例

        1、导入unittest包

         技术分享图片

 

 

        2、编写测试类继承unittest.TestCase父类

        技术分享图片

 

 

        3、编写测试用例,测试用例是必须以test开头(test不是固定的,也可以修改源码为其他开头)、测试方法使用assert断言来判断测试结果是否通过

        技术分享图片

 

 

 

二、运行测试用例的几种方法

1、通过unittest.main()来执行测试用例的方式:

方便将一个单元测试模块变为可直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行他们。执行方法的默认顺序是:根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z。所以以A开头的测试用例方法会优先执行,以a开头会后执行

缺点:只能执行当前模块的测试用例,如果有多个模块的话就不能用这种方式;

2、通过testsuit的addtest()方法将测试用例加载到测试套件中,用TexttestRunner()的run方法来执行测试用例

优点:可以指定测试用例运行的顺序(按照加载的顺序);可以运行多个模块中指定的测试用例

缺点:测试用例比较多的时候一个一个添加就不现实了

技术分享图片

 

 3、通过TestLoader加载测试用例,添加到测试套件、执行测试用例

优点:直接将测试类添加到测试套件中,比一个一个用例去添加强,可以运行指定的测试类

缺点:测试类较多的时候,一个类一个类添加的话也不方便

技术分享图片

 

 4、通过discover方法批量加载运行测试用例

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

 

discover=unittest.defaultTestLoader.discover(case_dir,pattern="test*.py",top_level_dir=None)

 

 1.discover方法里面有三个参数:

 

-case_dir:这个是待执行用例的目录。

 

-pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有.py文件。

 

-top_level_dir:这个是顶层目录的名称,一般默认等于None就行了。

优点:批量加载指定目录下的所有测试用例,适用于测试模块比较多的情况

缺点:不能指定测试用例顺序

技术分享图片

 

 5、使用HTMLTestRunner生成测试报告

     具体使用参考文档链接:https://www.cnblogs.com/yoyoketang/p/6680503.html

技术分享图片

 

 技术分享图片

unittest编写并运行测试用例

原文:https://www.cnblogs.com/yhms/p/12076764.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!