在上一篇文章中,我們介紹了如何開始在Jenkins內建立我們的每日建置工作,它可以幫助我們在確認在Version中所commit的程式碼是可執行的,作為確保Version Control內程式品質的最後一道防線,在建置失敗時也可以及時的發信通知,而在今天的例子之中,將會繼續介紹如何在Jenkins中整合UnitTest,讓程式碼除了可建置外,也能確定所進行的更動並沒有破壞原本stable的程式碼。
前言
在上一篇文章中,我們介紹了如何開始在Jenkins內建立我們的每日建置工作,
它可以幫助我們在確認在Version中所commit的程式碼是可執行的,
作為確保Version Control內程式品質的最後一道防線,在建置失敗時也可以及時的發信通知,
而在今天的例子之中,將會繼續介紹如何在Jenkins中整合UnitTest,
讓程式碼除了可建置外,也能確定所進行的更動並沒有破壞原本stable的程式碼。
實際演練
在伺服器上安裝Visual Studio
為了讓CI Server可以使用Mstest進行單元測試,
必須在伺服器上先按裝Visual Studio,使伺服器端可以使用command指令呼叫MsTest.ex
安裝MsTest Plugin & MsTest Runner Plugin
進入Jenkins首頁後,點選左邊的管理Jenkins,再選擇管理外掛程式
點選可用的,勾選MsTest PlugIn
再繼續勾選MsTestRunner PlugIn,選擇安裝並重啟
設定MsTest參數,回到首頁點選左邊的管理Jenkins,再選擇設定系統
找到MsTest區塊,點選Add MsTest,輸入設定 (此處以.Net 4.0為例)
設定專案進行UnitTest
回到Jenkins首頁,點選我們的專案.Net Solution Daily BuIld,點選設定
找到Build區塊,點選Add build step,選擇Run unit test with MSTest
選擇MsTest 4.0,輸入UnitTest Dll位置,輸入測試結果檔案名字
找到Post-build Actions區塊,點選Add Post-build Action,選擇Publish MsTest test result report
輸入測試結果位置,轉換成報表呈現在CI Server上
觀看結果
進入專案首頁,我們可以看到在畫面上出現了測試結果和測試趨勢圖
點擊進去之後我們可以看到測試的詳細資料
結語
在今天的文章之中,介紹了如何整合MsTest到我們的CI Server之中,
當然也可以選用自己慣用的Test Framework,Jenkins提供了許多Plugin來方便整合並呈現報告,
現在我們的CI Server擁有了Daily Build和UnitTest,
我們就再也不需要擔心程式從Version Control下載回來沒辦法Build,
或是不小心將程式碼改壞又沒人發現的情況發生囉!
下次我將繼續向大家介紹,如何整合靜態程式碼分析工具,來為Code Quality把關,
歡迎大家提出任何問題,一起討論或提供指教喔 ^_^