pytest外掛程式 8個很棒的pytest外掛程式

2021-10-08 05:38:17 字數 2171 閱讀 2112

pytest外掛程式

我們是pytest的忠實擁護者,並將其用作工作和開源專案的預設python測試工具。 在本月的python專欄文章中,我們分享了為什麼我們喜歡pytest以及為什麼使用pytest進行測試非常有趣的一些外掛程式。

test_*.pytest_*以及作為以test_*開頭的函式。

然後,pytest將在整個專案中找到所有測試,並在控制台中執行pytest時自動執行它們。

pytest接受在testrunner停止,其輸出結果的方式,執行的測試以及輸出中包括哪些資訊時可能會更改的標誌和引數 。

它還包括乙個set_trace()函式,可以將其輸入到測試中。

這將暫停測試,並允許您與變數進行互動,否則將在控制台中「四處迴圈」以除錯專案。

pytest最好的方面之一是其強大的外掛程式生態系統。 由於pytest是乙個如此受歡迎的測試庫,多年來,已經建立了許多外掛程式來擴充套件,定製和增強其功能。 這八個外掛程式是我們的最愛。

1. 焦糖

pytest-sugar更改pytest-sugar的預設外觀,新增進度條,並立即顯示失敗的測試。 它不需要任何配置。 只需pip install pytest-sugar,使用pytest執行測試,然後享受更漂亮,更有用的輸出。

2. pytest-cov

pytest-cov新增了對pytest的覆蓋支援,以顯示哪些**行已經過測試,哪些**行未測試過。 它還將包括專案的測試覆蓋率百分比。

3. pytest-picked

pytest-picked根據您已修改但尚未提交給git**執行測試。 安裝該庫並使用pytest --picked執行您的測試-pytest --picked測試自上次提交以來已更改的檔案。

4. pytest-instafail

pytest-instafail修改pytest的預設行為以立即顯示失敗和錯誤,而不是等到pytest完成每個測試的執行。

5. pytest-tldr

乙個全新的pytest外掛程式,可將輸出限制為您所需的東西。pytest-tldrtldr表示「太長,沒有讀」),就像pytest-sugar,除了基本安裝外,不需要任何配置。pytest-tldrtldr的預設輸出不是pytest的非常冗長的預設輸出,而是將輸出限制為僅對失敗的測試進行回溯,並省略了一些令人討厭的顏色編碼。 新增-v標誌對於喜歡它的人返回更詳細的輸出。

6. pytest-xdist

pytest-xdist允許您通過-n標誌並行執行多個測試:例如,pytest -n 2可以在兩個cpu上執行您的測試。 這樣可以大大加快測試速度。 它還包括--looponfail標誌,它將自動重新執行失敗的測試。

7. pytest-django

pytest-django向django應用程式和專案新增了pytest支援。 具體來說,pytest-django引入了使用pytest固定裝置測試django專案的功能,無需匯入unittest和複製/貼上其他樣板測試**,並且比標準django測試套件執行得更快。

8. django-test-plus

django-test-plus並非特定於pytest,但現在支援pytest。 它包括您自己的testcase類,您的測試可以繼承該類,並使您可以使用更少的擊鍵輸入頻繁的測試用例,例如檢查特定的http錯誤**。

翻譯自:

pytest外掛程式

pytest中的外掛程式安裝與使用

1.pytest中html測試報告 安裝 pip install pytest html 使用 在配置檔案命令的引數中增加 html 使用者路徑 report.html 如 在pytest.ini檔案中新增 pytest addopts html report report.html2.pytest...

pytest的一些實用外掛程式實踐

1.多重校驗 pytest assume 簡單的校驗assert,雖然可以寫多個assert def test add1 self assert add 2,3 5 assert add 1,3 3 assert add 2,5 7 由於第二個斷言失敗,那麼下面的斷言就不會執行。所以如果需要多個斷言...

7個很棒的 chatbot 應用場景

為聊天機械人選擇正確的應用場景,從而獲得商業價值。在整個 chatbot 構建過程中,選擇合適的業務場景是最重要的一部分。你設計 chatbot 的目的,將影響你如何去設計 chatbot 的專有語料資訊,以及將來如何重構整個 chatbot 以下是 7 個使用 chatbot 很棒的應用場景,如果...