<Unittest学习2> 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,执行完用例把用例执行详情详细的打印出来了

posted @ 2021-05-31 17:47  陈晓猛  阅读(318)  评论(0编辑  收藏  举报