Facebook開源了一個名為Python Test Runner(ptr)的新項目,允許開發人員運行Python單元測試套件。ptr和現有測試運行器之間的主要區別在于ptr通過爬取存儲庫查找一定的Python項目,這些項目帶有的單元測試在安裝文件中已經定義過。 然后,通過配置好的已啟用的步驟,它會并行運行每個套件。
ptr使用標準的開源Python組件提供了輕量級工具,并在Linux,MacOS和Windows上得到支持和測試。ptr允許開發人員在一個Python環境中測試多個項目以及并行運行測試。
為了實現這一點,ptr從BASE_DIR(-b)中遞歸搜索setup.(cfg | py)并解析找到的安裝文件以進行ptr配置。如果setup.(cfg | py)帶有ptr配置,則ptr運行測試。并行運行測試套件時,將為每個套件運行所有步驟一直到出現問題,并且只有失敗的運行才會將輸出寫入stdout。
ptr有4個主要用例:
- 運行Python測試套件;
- 根據需要檢查并執行代碼覆蓋要求;
- 根據需要格式化和linting Python代碼;
- 根據需要執行靜態類型分析。
ptr開源地址:https://github.com/facebookincubator/ptr