zoukankan      html  css  js  c++  java
  • unittest---unittest中verbosity参数设置

      我们在做自动化测试的时候,有时候想要很清楚的看到每条用例执行的详细信息,我们可以通过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设置各个参数表示的内容详细的展示给大家,大家也可以动手自己试一试

  • 相关阅读:
    视频编码H.264的应用
    音视频的发展与anychat的技术
    Anychat 行业内最佳的跨平台音视频解决方案
    Android移动端音视频的快速开发教程(六)
    如何快速开发跨平台音视频应用软件
    音视频通讯SDK详解(附代码包)
    Python教学课程分享10-异常处理结构
    Python教学课程分享9-面向对象编程
    Python教学课程分享8-函数
    Python教学课程分享7-文件操作
  • 原文地址:https://www.cnblogs.com/qican/p/11868869.html
Copyright © 2011-2022 走看看