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

verbosity参数设置

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

 

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

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

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

小试牛刀

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

verbosity=0

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

# coding:utf-8
import unittest
import requests class Music(unittest.TestCase): def select(self,name):
url = 'https://api.apiopen.top/searchMusic'
data = {
"name":name
}
r = requests.post(url,data=data)
b = r.json()['result'][0]['title']
return b # 错误的用例
def test01(self):
b = '断桥残雪的故事'
a = self.select(b)
self.assertEqual(b,a)
print('这个是用例一') # 错误的用例
def test02(self):
a = '说好不哭的剧情'
b = self.select(a)
self.assertEqual(a,b)
print('这个是用例二') # 正确的用例
def test03(self):
a = '芒种'
b = self.select(a)
self.assertEqual(a,b)
print('这个是用例三') if __name__ == '__main__':
unittest.main(verbosity=0)

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

vervbosity=1

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

# coding:utf-8
import unittest
import requests class Music(unittest.TestCase): def select(self,name):
url = 'https://api.apiopen.top/searchMusic'
data = {
"name":name
}
r = requests.post(url,data=data)
b = r.json()['result'][0]['title']
return b # 错误的用例
def test01(self):
b = '断桥残雪的故事'
a = self.select(b)
self.assertEqual(b,a)
print('这个是用例一') # 错误的用例
def test02(self):
a = '说好不哭的剧情'
b = self.select(a)
self.assertEqual(a,b)
print('这个是用例二') # 正确的用例
def test03(self):
a = '芒种'
b = self.select(a)
self.assertEqual(a,b)
print('这个是用例三') if __name__ == '__main__':
unittest.main(verbosity=1)

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

vervbosity=2

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

# coding:utf-8
import unittest
import requests class Music(unittest.TestCase): def select(self,name):
url = 'https://api.apiopen.top/searchMusic'
data = {
"name":name
}
r = requests.post(url,data=data)
b = r.json()['result'][0]['title']
return b # 错误的用例
def test01(self):
b = '断桥残雪的故事'
a = self.select(b)
self.assertEqual(b,a)
print('这个是用例一') # 错误的用例
def test02(self):
a = '说好不哭的剧情'
b = self.select(a)
self.assertEqual(a,b)
print('这个是用例二') # 正确的用例
def test03(self):
a = '芒种'
b = self.select(a)
self.assertEqual(a,b)
print('这个是用例三') if __name__ == '__main__':
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. vue项目中使用腾讯地图

    最近在使用腾讯地图api(以下以位置数据可视化API为例),在初建项目之后,按照官网的说法,直接引入 再将官网的初始化例子放一个方法 在mounted中调用即可看到腾讯地图,但是我引入之后,一直报TM ...

  2. java web项目war包部署,使用tomcat对指定接口设置身份认证

    先简单说一下需求: 将一个基于springboot2.0开发的java web项目打成war包,通过tomcat部署到一台linux服务器上,项目相关的一些图片等资源也按照一定规则放置在服务器构建好的 ...

  3. 【React】在React中 JSX 代码如何转成 JS 代码?

    一.介绍 写 React 代码的朋友应该都是直接写 JSX 代码,JSX 让我们可以在 JS 中直接写 HTML 代码,可阅读性较高.本章节主要介绍 JSX 通过 babel 转换后会生成什么样式代码 ...

  4. 成为java高手的成长历程想学好java必看

    1:J2SE入门阶段(3-6个月) 学习内容:J2SE常用类,JDBC等等 动态绑定,反射机制等 2:J2EE入门阶段(3个月) 学习内容:JSP/Servlet/JavaBean MVC结构的概念 ...

  5. eps-07s,编译及其烧写

    项目导入 清理并编译 会出现两个bin文件,然后烧写 修改红框中的东西,然后返回操作界面,进行一键烧写 硬件接线图 设备调试

  6. GoLand相同目录(包)下方法调用

    之前写的python,摸索go的时候发现相同目录下写的方法调用,在编译时竟然会报错,Mark~ 相同目录下方法调用,main.go文件调用tool.go中的add方法,要点如下: 1.两个文件的pak ...

  7. js中正则表达式的易错点

    文章目录 1. 匹配符部分匹配规则 2. 分组匹配规则: 3. 注意^的不同用法 4. 不要忘记转义 5. 正则表达式对象中lastIndex属性 6. exec VS match 1. 匹配符部分匹 ...

  8. Spring cloud ——EurekaServer

    Eureka作为服务注册与发现的组件,Eureka2.0已经闭源了,但是本教程还是以Eureka为核心进行展开. 1.三个模块 Spring Cloud Eureka是Spring Cloud Net ...

  9. webpack 打包less文件配置

    1 npm install less less-loader -D 2匹配规则

  10. vue学习笔记(十)路由

    前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...