由 Coded UI Test 中拿到 程式碼涵蓋率 ( Code Coverage ) 數據

由 Coded UI Test 中拿到 程式碼涵蓋率 ( Code Coverage ) 數據

這篇主要是針對 Winform 和 WPF , Web 的部分則另外說明

另外,為什麼會有這樣子的應用,也會在另外分享

 

之前有先進提問 在實作上一直遇到問題,雖然小弟直覺是認為 在 分析的設定上沒有指定 dll 和 exe

所以才會沒辦法產出 Code Coverage 的報表出來

這兩三天反覆測試了幾次後發現其實有幾個地方要特別注意!

  1. Dll 分析的目錄必須和 exe 是同一個目錄
  2. exe 必須在 Coded ui test 中被呼叫才行  ( 若沒有被呼叫的話!則沒辦法被分析 )
  3. 同樣被測系統必須是 Debug 模式

首先請先看一下 成果

image 
為了證明這不是用 Unit Test 寫出來的,所以方案總管裡的測試項目可是貨真價實的 Coded UI Test

image
連同引用的 DLL 元件都可以正常出現

image

image 
這裡要特別注意的是!原本 引用元件的目錄若是和 exe 不同目錄的話!則 該 dll 不會出現在報表中

image 
另外執行 Coded UI test 另外一個重點是!一定要執行「可執行檔」
若是程式已經開好的話,則因為執行緒已經開啟無法改變所以也不會出現在報表中

 

到目前為止有些眼尖的人已經注意到了!若是測試人員沒有 source code 的話怎麼辦?不就沒有數據?

image 
即使只有 Test Project 沒有 source code 也一樣可以 ,這樣子就不用擔心 權限的問題啦!

image
連同 WPF 的專案也是一樣的設定方式

 

ps.. 若是您的專案發生以下的錯誤的話!可以留言一下討論系統所引用元件和環境

image