2

背景:如何設計一個安裝程序,因此它可以在自動化驗收中使用測試

我們有一個Windows安裝程序簡單地安裝並啓動我們自定義的WinForms安裝程序。這個自定義安裝程序會進行真正的安裝:創建IIS Web應用程序,複製DLL,安裝數據庫等...

我們現在要編寫一些自動驗收測試,其中包括使用與安裝程序我們用於生產。我們希望通過每天晚上在專用機器上運行驗收測試開始,之後再作爲持續集成管道的一部分。

問題:

它被證明是難以實現自動化的WinForms的安裝程序。我們不希望驗收測試使用特殊的安裝代碼。

問:

你聰明的人有部署過程集成到自動化測試有什麼建議?

我懷疑爲安裝程序使用WinForms的決定是一個糟糕的選擇 - 尤其是因爲由此產生的應用程序沒有將UI代碼與真實的安裝代碼明確區分開來。

回答

5

我的建議是使用基於MSI的安裝程序,而不是試圖使用Windows窗體自己推出。看看使用Windows Installer XML (WiX) toolset這是一個流行的免費開源工具集來創建安裝程序。

使用MSI有很多優點,特別是它使安裝程序邏輯和UI(類似於falling into the pit of success)相當困難,因此使無人值守的安裝程序適合在遠程計算機上運行是一件小事。

如果您已經承諾使用您當前的安裝方法,那麼您需要將您的UI和邏輯分離到無需顯示任何用戶界面即可運行安裝的位置 - 難以提供有關如何執行的任何具體建議這沒有一個更具體的例子。

+1

與'成功之坑'有很好的聯繫。自定義的WinForms安裝程序當時看起來是個不錯的主意,但它已經發展成爲一個複雜的軟件,目前只能通過手動測試。 – GarethOwen

+1

@Gareth我有維護基於腳本的安裝程序的「喜悅」。我確信它的開始很簡單,但安裝程序是一個棘手的業務,現在它是一個複雜的混亂。從那以後,MSI發明了它,它試圖照顧更復雜的部件 - 我不能等到安裝程序寫完的那一天,所有更難的邏輯都由MSI來處理。 – Justin

相關問題