經過Python測試交流群的小夥伴群策群力,teprunner新增了一個重要功能,把PyCharm中的程式碼,通過Git同步到測試平臺中,生成測試用例。這樣,teprunner就成了一個名副其實的pytest指令碼線上管理平臺。
效果展示
專案新增Git倉庫和Git分支:
點選同步按鈕即可進行Git同步:
同步說明
為什麼要把平臺用例和Git用例獨立?如果平臺上面的用例可以通過Git進行提交程式碼,那麼程式碼衝突會很難解決,這是其一。其二是平臺用例的好處就是規避了Git管理程式碼的衝突問題,一般測試人員程式碼能力沒有開發人員那麼強,程式碼衝突解決起來是真的費時費力。其三是如果用例在平臺和Git中都有修改,那麼同步時並不知道哪一份是最新的,無法判斷。
前端開發內容
router新增路由:
給專案增加兩個輸入框:
表格增加兩列:
給測試用例的描述新增一個連結,檢視用例:
介面響應新增來源欄位:
根據來源區分編輯和刪除的操作許可權:
用例檢視頁面:
Git同步選單:
Git同步頁面及說明:
請求後端gitSync介面:
後端開發內容
Project新增欄位:
Case新增欄位:
其中filename用於快取在資料庫中的用例程式碼對應的檔名(實際上是相對於tests目錄的路徑)。
資料遷移:
python manage.py makemigrations
python manage.py migrate
ProjectSerializer新增欄位:
CaseSerializer和CaseListSerializer新增欄位:
url新增路由:
git_sync檢視:
Git同步後端配置:
從Git拉程式碼:
如果docker中沒有就clone,如果已經存在就checkout到指定分支再git pull。
同步用例:
根據資料庫中的filenames和git的filenames進行集合化後求差集/交集,得出需要刪除/新增/更新的用例集,然後分別運算元據庫快取。
讀取git檔案內容:
從檔案內容提取描述和建立人:
小結
本文介紹瞭如何使用Git把PyCharm中的pytest指令碼,同步到測試平臺進行管理。至此,teprunner測試平臺V1.0.0正式完成。後續會逐漸完善部署文件和使用者手冊,歡迎持續關注。