unittest---unittest中verbosity參數設置

  咱們在作自動化測試的時候,有時候想要很清楚的看到每條用例執行的詳細信息,咱們能夠經過unittest中verbosity參數進行設置json

verbosity參數設置

verbosity表示在只執行用例的過程當中能夠把用例的執行狀況根據配置的參數不一樣表示不一樣的詳細程度,咱們先看下源碼中如何進行解釋的。api

 

 

 

 

經過觀察能夠看到咱們verbosity默認爲1,能夠設置爲0和2。 post

  • 0 (靜默模式): 你只能得到總的測試用例數和總的結果。
  • 1 (默認模式): 很是相似靜默模式 只是在每一個成功的用例前面有個「.」 每一個失敗的用例前面有個 「E」
  • 2 (詳細模式):測試結果會顯示每一個測試用例的全部相關的信息 而且 你在命令行里加入不一樣的參數能夠起到同樣的效果

看這麼多,不如咱們實踐下。測試

小試牛刀

咱們經過unittest和咱們前面寫的查詢音樂的結果一塊兒看看verbosity每一個狀況url

verbosity=0

0 (靜默模式): 你只能得到總的測試用例數和總的結果。spa

# 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」3d

# 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表示code

 

vervbosity=2

2 (詳細模式):測試結果會顯示每一個測試用例的全部相關的信息 而且 你在命令行里加入不一樣的參數能夠起到同樣的效果blog

# 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設置各個參數表示的內容詳細的展現給你們,你們也能夠動手本身試一試

相關文章
相關標籤/搜索