[英]unit testing embedded python
我有一個第三方軟件,該軟件能夠使用以下方式運行一些python腳本:
software.exe -script pythonscript.py
我的公司嚴重依賴此軟件以及我們為其開發的腳本。 當前,我們有一些QA檢查腳本的輸出,但是我們確實希望開始對腳本進行單元測試,以使查找錯誤和使測試系統更完整變得更加容易。
我的問題是如何運行“嵌入式”單元測試? 我們使用pydev + eclipse,我嘗試使用它的遠程調試功能使其可以與單元測試一起使用,但是我不能真正使其工作。 如何使服務器連接“供稿”單元測試?
另一個想法是解析軟件的標准配置,但這並不是真正的單元測試……而且似乎帶來的額外復雜性使這種方法變得不太有趣。
我希望類似的事情已經在其他地方完成,因此我嘗試使用谷歌搜索,但是也許我只是沒有使用正確的關鍵字。 誰能給我一個起點?
謝謝
多一點信息會有所幫助。 您是否正在使用測試框架(例如unittest或鼻子),如果沒有,測試的結構如何? 什么是software.exe
?
在python中,單元測試實際上僅是一個函數集合,這些函數會在失敗時引發異常,因此可以像其他任何函數一樣從腳本中調用它們。 因此,從理論上講,您可以簡單地創建一個測試運行器(如果您尚未使用過鼻子),然后將其作為software.exe -script runtests.py
運行。 在pydev中,您可以將software.exe
設置為自定義的python解釋器。
如果問題在於software.exe
隱藏了stdout,則只需將結果寫入日志文件即可。 您還可以創建一個環境來模擬software.exe
提供的環境,並使用python.exe
運行測試。
如果單元測試是針對您的代碼的,而不是針對software.exe
提供的功能的,則可以在必要時使用獨立的python模擬software.exe
部件來運行測試。 作為一個中間步驟,你可以嘗試運行unittest
使用`software.exe”基於腳本
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.