我们在做自动化测试的时候,有时候想要很清楚的看到每条用例执行的详细信息,我们可以通过unittest中verbosity参数进行设置

verbosity参数设置

verbosity表示在只执行用例的过程中可以把用例的执行情况根据配置的参数不同表示不同的详细程度,我们先看下源码中如何进行解释的。

 

通过观察可以看到我们verbosity默认为1,可以设置为0和2。

  • 0 (静默模式): 你只能获得总的测试用例数和总的结果。
  • 1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “E”
  • 2 (详细模式):测试结果会显示每个测试用例的所有相关的信息 并且 你在命令行里加入不同的参数可以起到一样的效果

看这么多,不如我们实践下。

小试牛刀

我们通过unittest和我们前面写的查询音乐的结果一起看看verbosity每个情况

verbosity=0

0 (静默模式): 你只能获得总的测试用例数和总的结果。

  1. # coding:utf-8
  2. import unittest
  3. import requests
  4.  
  5. class Music(unittest.TestCase):
  6.  
  7. def select(self,name):
  8. url = 'https://api.apiopen.top/searchMusic'
  9. data = {
  10. "name":name
  11. }
  12. r = requests.post(url,data=data)
  13. b = r.json()['result'][0]['title']
  14. return b
  15.  
  16. # 错误的用例
  17. def test01(self):
  18. b = '断桥残雪的故事'
  19. a = self.select(b)
  20. self.assertEqual(b,a)
  21. print('这个是用例一')
  22.  
  23. # 错误的用例
  24. def test02(self):
  25. a = '说好不哭的剧情'
  26. b = self.select(a)
  27. self.assertEqual(a,b)
  28. print('这个是用例二')
  29.  
  30. # 正确的用例
  31. def test03(self):
  32. a = '芒种'
  33. b = self.select(a)
  34. self.assertEqual(a,b)
  35. print('这个是用例三')
  36.  
  37. if __name__ == '__main__':
  38. unittest.main(verbosity=0)

通过执行后我们可以看到当vervbosity=0的时候,只显示了执行错误了多少条用例

vervbosity=1

1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “E”

  1. # coding:utf-8
  2. import unittest
  3. import requests
  4.  
  5. class Music(unittest.TestCase):
  6.  
  7. def select(self,name):
  8. url = 'https://api.apiopen.top/searchMusic'
  9. data = {
  10. "name":name
  11. }
  12. r = requests.post(url,data=data)
  13. b = r.json()['result'][0]['title']
  14. return b
  15.  
  16. # 错误的用例
  17. def test01(self):
  18. b = '断桥残雪的故事'
  19. a = self.select(b)
  20. self.assertEqual(b,a)
  21. print('这个是用例一')
  22.  
  23. # 错误的用例
  24. def test02(self):
  25. a = '说好不哭的剧情'
  26. b = self.select(a)
  27. self.assertEqual(a,b)
  28. print('这个是用例二')
  29.  
  30. # 正确的用例
  31. def test03(self):
  32. a = '芒种'
  33. b = self.select(a)
  34. self.assertEqual(a,b)
  35. print('这个是用例三')
  36.  
  37. if __name__ == '__main__':
  38. unittest.main(verbosity=1)

通过执行后我们可以看到当vervbosity=1的时候,成功的用例用.表示,失败的用E表示

vervbosity=2

2 (详细模式):测试结果会显示每个测试用例的所有相关的信息 并且 你在命令行里加入不同的参数可以起到一样的效果

  1. # coding:utf-8
  2. import unittest
  3. import requests
  4.  
  5. class Music(unittest.TestCase):
  6.  
  7. def select(self,name):
  8. url = 'https://api.apiopen.top/searchMusic'
  9. data = {
  10. "name":name
  11. }
  12. r = requests.post(url,data=data)
  13. b = r.json()['result'][0]['title']
  14. return b
  15.  
  16. # 错误的用例
  17. def test01(self):
  18. b = '断桥残雪的故事'
  19. a = self.select(b)
  20. self.assertEqual(b,a)
  21. print('这个是用例一')
  22.  
  23. # 错误的用例
  24. def test02(self):
  25. a = '说好不哭的剧情'
  26. b = self.select(a)
  27. self.assertEqual(a,b)
  28. print('这个是用例二')
  29.  
  30. # 正确的用例
  31. def test03(self):
  32. a = '芒种'
  33. b = self.select(a)
  34. self.assertEqual(a,b)
  35. print('这个是用例三')
  36.  
  37. if __name__ == '__main__':
  38. unittest.main(verbosity=2)

执行后发现verbosity=2,执行完用例把用例执行详情详细的打印出来了

这一篇重复代码较多,只是为了方便理解verbosity设置各个参数表示的内容详细的展示给大家,大家也可以动手自己试一试

unittest---unittest中verbosity参数设置的更多相关文章

  1. vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置

    vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置 [转载自]tinyle的专栏 [原文链接地址]http://blog.csdn.net/myaccella/ar ...

  2. Tomcat中JVM参数设置

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对JavaJVM有关内存方面的知识进 ...

  3. Hibernate的HQL中in参数设置

    平时经常用Hibernate,由于习惯表间不建立关联,所以HQL查询时候经常要用in语句. 我最常用的情况有2种: 1.in后是个子查询,如 FROM A WHERE A.ID IN (SELECT ...

  4. Alsa中PCM参数设置⭐⭐

    1) PCM设备的句柄.2) 指定同时可供回放或截获的PCM流的方向3) 提供一些关于我们想要使用的设置选项的信息,比如缓冲区大小,采样率,PCM数据格式等4) 检查硬件是否支持设置选项.   4.1 ...

  5. struts2中constant参数设置

    序号 方法 说明 1 <constant name="struts.i18n.encoding" value="UTF-8"/> 指定web应用默认 ...

  6. java中获取接口(方法)中的参数名字(eclipse设置编译参数)(java8 javac -parameters)

    interface接口参数 jdk1.7及以前使用spring功能实现的: 注意: 1.该功能只能获取类的方法的参数名,不能获取接口的方法的参数名. public static void test() ...

  7. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  8. 用WIN7系统IIS的提示:数据库连接出错,请检查Conn.asp文件中的数据库参数设置

    我用科讯的从4.0开始,去年开始很少用科讯做新站了,今天拿来做一下,结果悲剧了,数据库路径老是不对,百度一番又一番的,,最后终于给度娘解决了.分享出来给遇到同样的问题的人. 用WIN7系统IIS的注意 ...

  9. Mysql : L闪存卡linux中的内核参数设置

    将 Nytro WarpDrive 加速卡配置为文件系统 本节说明的操作使您可调整 Nytro WarpDrive 加速卡,增强使用 Oracle Linux with Unbreakable Ent ...

随机推荐

  1. 【Python3网络爬虫开发实战】 分析Ajax爬取今日头条街拍美图

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:haoxuan10 本节中,我们以今日头条为例来尝试通过分析Ajax请求 ...

  2. tensorflow sequence_loss

    sequence_loss是nlp算法中非常重要的一个函数.rnn,lstm,attention都要用到这个函数.看下面代码: # coding: utf-8 import numpy as np i ...

  3. django学习03-模版

    新手做的笔记,很可能会有理解错误的地方.欢迎拍砖. 在polls/views.py中增加下面内容,完善功能. def detail(request, question_id): return Http ...

  4. telnet远程登陆

    这篇文章是第二次更新,内容为telnet远程登陆路由器,非常简单.直接进入正题,在网络配通的情况下,为路由器设置登陆密码和管理员密码,就可以通过pc机远程管理路由器或交换机. 目的: 网络拓扑图如下, ...

  5. 重新精读《Java 编程思想》系列之组合与继承

    Java 复用代码的两种方式组合与继承. 组合 组合只需将对象引用置于新类中即可. 比如我们有一个B类,它具有一个say方法,我们在A类中使用B类的方法,就是组合. public class B { ...

  6. 磁盘分区(GPT)

    右击 我的电脑 → 管理 → 磁盘管理 (对磁盘1进行分区)右击 磁盘1 → 初始化 磁盘1 右击 磁盘1白色部分 → 新建磁盘分区 先创建主分区(主分区最多创建4个,扩展分区最多1个) 输入分区大小 ...

  7. 【树莓派】制作启动SD卡

    版权声明:本文为博主原创文章,转载请注明出处. https://www.cnblogs.com/YaoYing/ 下载烧写软件 烧写软件 将下载的压缩文件解压缩并安装到电脑上 下载树莓派镜像 树莓派系 ...

  8. Elasticsearch系列---补充几个知识点

    概要 bulk api有趣的json格式 前面<简单入门实战>一节中,有介绍bulk的使用示例,大家一定很奇怪,还有这么有趣的JSON格式,必须严格照他的换行来做,我想把JSON搞得美观可 ...

  9. pcntl_signal(): Error assigning signal

    错误原因:SIGSTOP(19)和SIGKILL(6)两个信号不能使用,进程间通信换成其他信号量就好了.

  10. django生命周期请求l流程图

    django思维导图链接:https://www.processon.com/view/link/5dddb0f8e4b074c442e5c68c