在前面的分享中,咱們分別講了unittest的相關流程以及相關斷言,那麼不少人,都會問了unittest的用例,應該如何執行呢,此次,咱們就來看看,unittest用例如何執行。
首先,咱們能夠使用pycharm運行。咱們試着右鍵,發現不是咱們想要的。python
咱們試着在if 右鍵的綠色箭頭運行發現,效果是同樣的。app
那麼咱們到底在pycharm應該如何運行呢。測試
咱們點擊右上角的
選擇edit Configurations...3d
看了下,咱們直接運行的是tests,咱們須要配置下
首先咱們選中Python tests下面的,而後點擊-號。code
而後在python點擊+
選中python。點擊,而後咱們去選中咱們腳本的路徑便可orm
選中後,點擊apply,而後咱們再點運行。pycharm
右鍵仍是點擊if前面的綠色按鈕均可以
咱們看下結果cmd
準確了執行咱們全部的用例。it
固然了,咱們除了上面的方法還有,在終端運行。
能夠直接打開,cmd或者終端,而後屬於python test.py 運行,或者點擊pycharm的Terminal,和終端同樣的效果。
直接python testdemoone.py 對應的名稱就能夠。
咱們要看測試執行的詳細信息怎麼辦呢,其實也很簡單。io
能夠打印出來詳細的信息,好比測試用例的名稱。是否執行成功。
咱們也能夠執行模塊
python -m unittest testdemoone
執行結果以下
咱們也能夠執行具體的模塊的類
python -m unittest testdemoone.TestDemo
結果以下
也能夠執行具體的方法
python -m unittest testdemoone.TestDemo.testone
結果以下
獲取幫助選項
python -m unittest -h
假如咱們在執行測試用例的時候,咱們想要測試用例執行到錯誤的地方就中止怎麼辦呢,其實很簡單
python testdemoone.py -f
咱們把testdemoone.py 修改下:
import unittest
class TestDemo(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def testone(self):
self.assertEqual(1,2)
def testtwo(self):
self.assertEqual(1,1)
if name=="main":
unittest.main()
那麼咱們執行下面的命令,如何展現呢
python testdemoone.py -f
結果以下
咱們能夠看到,當執行失敗後,程序執行就直接退出了。
上文文中的testdemoone.py以下:
import unittest
class TestDemo(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def testone(self):
self.assertEqual(1,2)
def testtwo(self):
self.assertEqual(1,1)
if name=="main":
unittest.main()
假如咱們想要探索執行目錄下面全部的測試用例,咱們應該怎麼去執行呢,能夠在目錄這麼執行.
python -m unittest discover
展現以下:
在咱們去探索執行目錄下面,咱們要想看到和執行單個文件同樣的詳細信息怎麼辦呢。其實也很簡單,直接加-v便可。
python -m unittest discover -v
執行結果以下:
咱們要探索制定文件下的怎麼辦呢,其實很簡單
python -m unittest discover -v -s testone
運行結果以下
咱們要模糊匹配文件怎麼辦
命令以下
python -m unittest discover -v -s testone -p 'test*.py'
結果以下: