[英]Python unittest, running only the tests that failed
我有一個使用unittest從命令行運行的大型python測試文件。 有些測試需要一段時間才能運行。 這是一個輕度的痛點,因為我通常只關心我添加的最后一個測試。 我想要的是:
是否可以從命令行執行此操作?
每個測試函數的聲明如下:
def test_something_something(self):
如果在前面添加下划線,例如:
def _test_something_something(self):
該測試將被忽略。 您可以做的一件事是快速查找並替換為vim 。 找到所有“ test_”並將其替換為“ _test_”,然后找到一個失敗的測試並刪除下划線。
(不是完全自動化的解決方案,但是比現有解決方案要好)
如果將測試類的名稱作為參數傳遞給測試腳本,則僅運行該測試。 例如,如果您只想在腳本test_whatever.py
的MyTest
類中運行測試:
python3 test_whatever.py MyTest
您也可以將單個測試指定為該類的成員。 例如,假設您要在類MyTest
運行測試test_something
:
python3 test_whatever.py MyTest.test_something
只需使用--last-failed選項運行測試(您可能需要pytest)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.