首先是一些背景;我們正在.NET 4.5中開發一個大型的桌面WPF應用程序,目標是64位Windows 7和8.我們正在使用Visual Studio 2012.2(很快將成爲.3,然後可能是2013年!)和TFS 2012(再次.2。 2013)。使用CodedUI測試測試WPF應用程序,編碼的ui測試項目應共享解決方案嗎?
這款產品目前都在一個大的解決方案(剛剛超過50個項目)產生一個WPF EXE,DLL文件的加載和一個不錯的MSI安裝它。我們使用TFS(門控和計劃)來構建解決方案,其安裝程序(WiX)並運行其測試(SpecFlow用於BDD和MSTest單元測試),這非常有效。
我有一個單獨的調度TFS構建通過PowerShell腳本部署MSI物理試驗檯在一個不受信任的AD域(見TFS2012 LabDefault.11 template deploy scripts fail with 「Team Foundation Server could not complete the deployment task」爲參與該挑戰的細節!)
OK所以那就是我的位置,現在我想把事情推向下一步; CodedUI測試驅動完整的應用程序集成測試;我想「冒煙測試」我的構建。
因此,作爲一個簡單的靈魂,我爲我的產品解決方案添加了一個新項目;一個CodedUI測試項目。
這很高興地運行本地安裝的產品(而不是剛建立的產品;因爲我最終希望CUIT在部署的測試平臺上作爲煙霧測試運行,並且該平臺剛剛安裝了我剛剛構建的MSI)並用斷言執行一些UI測試。
現在我的問題是CUIT項目作爲產品解決方案的一部分,本地測試運行發現並運行我的CUIT測試,這是不期望的。我只想在實驗室構建測試階段運行CUIT測試。
因此是否將CUIT項目放入產品解決方案中是一個壞主意?或它應該是一個單獨的解決方案?將它們分開看起來似乎是錯誤的,因爲它們是相關的; CUIT項目是解決方案可部署應用程序的完整堆棧集成測試。
我可以在產品解決方案中包含CUIT並停止測試運行者看到測試嗎?或者只有兩種解決方案更好?
有什麼優點和缺點?
更新
最後,我們創建了一個包含一個編碼的UI測試項目新的解決方案,並確保這是與內置的UI解決方案相同的TFS構建建。這使我們可以在本地加載和運行編碼的UI測試而不會出現問題,主UI項目中的單元測試不會受到干擾。仍然看起來有些不協調,但是對於每個用戶的多人團隊測試設置太難以將編碼的UI分解成不同的解決方案更簡單。
如果您可以對現有答案提供一些反饋(以保持討論活躍) – Micha