python单元测试的应用_单元测试pythongui应用程序的推荐方法是什么?
我目前愚蠢到試圖為Python桌面應用程序維護兩個并行代碼基,一個使用PyGObject introspection for GTK 3,另一個使用PyGTK for GTK 2。我主要在PyGObject分支上工作,然后將變更移植到PyGTK分支上。由于這些實現之間的所有細微差異,我經常忽略一些東西,并導致我錯過并意外發布的破壞,結果被用戶發現。在
我正試圖找到一種好的方法來設計一些單元測試,這些單元測試最好能在兩個代碼基上運行。想象一下,它本質上不是一個復雜的程序庫:- Main Window
|- Toolbar with some buttons (add/edit/remove items, configure the program)
|
|- VPaned
|--- Top HPaned
|------ ListView (listing values by which a library of items can be filtered)
|------ ListView (listing the contents of the library
|--- Bottom HPaned
|------ Image (displaying cover art for the currently selected item in the library)
|------ TextView (displaying formatted text describing the currently selected item)
- Edit dialog
- Configuration dialog
- About dialog
我已經盡可能地把視圖和模型分開。每一個項目都在自己的類中實現(好吧,在繼承了所列GTK類的類中)。ListViews與從ListStores繼承的其他類耦合在一起。庫本身由另一個類處理。盡管如此,小部件之間仍然存在需要測試的交互。例如,如果用戶在filter視圖中選擇了一個特定的項目,過濾了庫,然后從過濾的結果中選擇了一個項目,那么文本視圖必須顯示正確的庫條目的信息,由于在TreeModelFilter和原始ListStore之間轉換iter等,這是半復雜的
所以,我問,為這樣一個GUI應用程序編寫健壯的單元測試的推薦方法是什么?我已經看到有一些庫用于這一點,但是pygtk的主要庫已經多年沒有更新了,因此它們幾乎肯定會在PyGObject自省中失敗。也許我沒有足夠的創造力來想出一個使用Python的unittest模塊的好方法,所以我愿意接受建議。在
總結
以上是生活随笔為你收集整理的python单元测试的应用_单元测试pythongui应用程序的推荐方法是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sony android 计算器,Neo
- 下一篇: CSS_class标签