我開始使用WiX(yay,而不是Installshield)來做一些安裝程序工作,我希望能做一些安裝程序的TDD。有誰知道一個簡單的方法來做到這一點?單元測試安裝程序
單元測試安裝程序
回答
聽起來我更像是一個集成測試,而不是TDD。
據我所知,本身沒有MSI測試套裝。
不過你可以嘗試這樣的事情(假設你有一個連續預防集成服務器):
- 成功構建後,乾淨的虛擬機上安裝MSI - 如果安裝失敗,做一些事情(郵件,車票,無論)
- 來看,你擁有的任何集成測試你的項目
之後,你可以肯定的是安裝的應用程序做什麼它應該。
對生成的MSI運行一些標準測試可能不是一個壞主意。 MSI文件支持許多不同的部署方案:管理員安裝來解壓縮文件,爲活動目錄進行廣告安裝,靜默安裝,維護安裝,卸載等等......也許這確實是一個想法,爲此創建一個小測試套件 - 也許它是即使是我所知道的WIX工具集也是如此。
但是,我認爲提供質量設置的第一步,也就是通過MSI驗證套件運行MSI。這些被稱爲ICE(內部一致性評估器),它們作爲* .cub文件與Windows Installer SDK交付。運行這些腳本往往會在MSI中暴露出許多糟糕的設計結構。此WIX工具稱爲smoke.exe。
我認爲沒有必要明確地呼籲煙霧。 Light在darice.cub和mergemod.cub中運行冰測試(需要時) http://installing.blogspot.com/2006/04/msi-validation-in-wix.html – 2009-10-16 12:56:25
如果您創建了一些腳本文件來檢查文件是否在正確的位置,它是否會使您感到驚訝?我希望讓Perl或Python腳本
test_installer_wix.pl
msiexec /x product.msi # remove
msiexec /i product.msi /silent # install
ASSERT_EXIST_FILE(PFILE, 'productname/application.exe')
ASSERT_REGKEY_EXISTS()
等
我要添加鏈接,發佈有關如何爲WIX installer
數據庫中創建單元測試:http://miroslawmiodonski.blogspot.com/2012/10/how-to-create-unit-test-for-wix.html
- 1. 安裝程序的單元測試
- 2. 如果安裝程序提出了在Python單元測試
- 3. 安裝設備單元測試框架
- 4. 安裝測試單元全在JRuby
- 5. 服務的單元測試安裝
- 6. Inno Setup安裝程序測試安裝程序退出代碼
- 7. 安裝谷歌的JS測試單元測試
- 8. CMake如何使用單元測試安裝測試文件
- 9. 安裝Apple蘋果MFI程序測試
- 10. 單元測試roboletric安卓
- 11. 使用單元測試進行線程安全測試
- 12. 單元測試ASP.NET應用程序
- 13. Python的CLI程序單元測試
- 14. 單元測試並行Java程序
- 15. Android應用程序單元測試
- 16. 單元測試tkinter應用程序
- 17. 單元測試batman.js應用程序
- 18. 幫助程序類和單元測試
- 19. Netty SSL處理程序單元測試
- 20. 單元測試JavaEE應用程序
- 21. 單元測試golang處理程序
- 22. 單元測試http處理程序?
- 23. 單元測試實用程序方法
- 24. 單元測試Dababase應用程序
- 25. Selenium單元測試ExtJS應用程序
- 26. 單元測試事件處理程序
- 27. 單元測試程序C代碼
- 28. 單元測試opencv android應用程序
- 29. 單元測試Vertx.io應用程序
- 30. 獲取程序ApplicationExitCode單元測試
除上述之外,我強烈建議重複安裝以前的安裝,特別是在使用MSI(Windows安裝程序)時。通過這種方式,您可能會在用戶遇到此問題之前破壞Windows Installer(註冊表,文件等)並開發解決方案。 – 2012-11-05 22:17:19