我有一個系統,有許多組件相互作用。它發生在我身上作爲安裝過程的一部分運行測試,以確保它在客戶機中正常工作。將庫的單元測試作爲安裝它的MSI的一部分運行是否是個好主意?
這聽起來像一個合理的想法?你看過了嗎?你將使用什麼框架來運行測試?
我有一個系統,有許多組件相互作用。它發生在我身上作爲安裝過程的一部分運行測試,以確保它在客戶機中正常工作。將庫的單元測試作爲安裝它的MSI的一部分運行是否是個好主意?
這聽起來像一個合理的想法?你看過了嗎?你將使用什麼框架來運行測試?
單元測試(理想情況下)應該與環境無關,所以我認爲您不希望在軟件安裝後運行單元測試。但是,您應該運行系統驗證測試,驗證您的軟件所需的環境條件是否存在。環境條件的常見示例是:Web服務的可用性,適當的文件訪問權限以及網絡訪問的可用性。
做某種安裝後測試來檢查安裝狀態似乎是一件非常合理的事情。無論你稱之爲單元測試還是將其視爲單元測試,都可能會混淆主題。除非你正在爲開發者安裝第三方零部件,並且你想測試構建。
我不認爲你會想要運行你的整套單元測試。根據應用程序的大小和測試套件的大小,這可能會成爲安裝過程中非常昂貴的部分。此外,單元測試應該獨立於功能塊獨立於其環境。
可能更有價值的是將測試集合打包爲獨立程序,專門針對可能存在問題的安裝方面。例如,確保將註冊表項寫入到32位或64位計算機上的預期位置,或者臨時文件區域是可讀/可寫的。
某種確認安裝成功並且必要的組件可用是有道理的。但是我想你可能會用單元測試咆哮錯誤的樹。
單元測試是爲了確保代碼在系統的一部分被更改後仍然有效。你可能會扭曲單元測試框架來完成你所需要的,但不是它的主要任務,你可能會遇到意想不到的問題。
那麼你會建議什麼?一個簡單的.net命令行?或Powershell sript?我問單元測試B/C,所有的框架已經到位,我不需要自己重新編程。 – Nestor