1. 程式人生 > >C#單元測試CI配置以及sonar單元測試覆蓋率統計的配置

C#單元測試CI配置以及sonar單元測試覆蓋率統計的配置

本文主要介紹demo C#專案的單元測試,包括單元測試的編寫,執行,報告,以及jenkins如何執行單元測試,測試報告的生成,覆蓋率統計以及sonar分析。

Demo C# 單元測試

Jenkins中sonar配置

(1)Begin Analysis. 指定測試結果檔案和單元測試覆蓋率檔案
這裡寫圖片描述

(2)執行構建編譯步驟
這裡寫圖片描述

(3)用vs自帶的vstest.console.exe工具進行單元測試,生成trx格式的測試報告;並用vs自帶的CodeCoverage.exe工具進行覆蓋率的統計,生成覆蓋率統計檔案VisualStudio.coverage.
具體命令如下:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\amd64\CodeCoverage.exe collect /output:VisualStudio.coverage /verbose "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" /Logger:trx "BankTest\bin\Debug\BankTest.dll" "BankTestT\bin\Debug\BankTestT.dll"

這裡寫圖片描述

(4)轉換覆蓋率的報告,將VisualStudio.coverage形式的報告轉換為vstest.coveragexml形式的報告,命令如下:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\amd64\CodeCoverage.exe analyze /output:"vstest.coveragexml" "VisualStudio.coverage" 

這裡寫圖片描述

(5)End Analysis

這裡寫圖片描述

(6)檢查jenkins中結果

這裡寫圖片描述

這裡寫圖片描述

Jenkins中展示測試報告和覆蓋率

jenkins只能接受vstest.coveragexml形式的覆蓋率報告,且用CodeCoverage.exe工具生成的vstest.coveragexml不能被jenkins解析,所以需要另外單獨生成vstest.coveragexml格式的報告

(1)用vstest.console進行單元測試並進行覆蓋率的統計
這裡寫圖片描述

(2)用CoverageCoverter工具1將generatedCoverageFile2 轉換成vstest.coveragexml檔案
這裡寫圖片描述

(3)釋出測試結果報告
這裡寫圖片描述

(4)立即構建之後在jenkins中檢查結果
這裡寫圖片描述

  1. 2.generatedCoverageFile是類似於wangjunting_WANGJUNTING 2017-09-04 17_57_33.coverage的檔案

相關推薦

C#單元測試CI配置以及sonar單元測試覆蓋率統計配置

本文主要介紹demo C#專案的單元測試,包括單元測試的編寫,執行,報告,以及jenkins如何執行單元測試,測試報告的生成,覆蓋率統計以及sonar分析。 Demo C# 單元測試 Jenkins中sonar配置 (1)Begin Analy

Sublime安裝配置以及scala程式碼測試編譯

下載安裝Sublime text3 、JDK、scala https://yunpan.cn/cSXuu2A3HbK3R 訪問密碼 c987 注意Scala和jdk需要提前下載配置好(win10 64bit) scala: https://yunpan

【Android進階】Junit單元測試環境搭建以及簡單有用

rar theme 選擇 http 技術分享 才幹 ack package family 單元測試的目的 首先。Junit單元測試要實現的功能,就是用來測試寫好的方法是否可以正確的運行,一般多用於對業務方法的測試。 單元測試的環境配置 1.在Andro

【轉載】IntelliJ IDEA配置JUnit進行單元測試

dbd ima pom.xml format height eight nsh 格式 oot 前提條件 安裝JDK,並配置好環境變量 工程已解決JUnit依賴關系(pom.xml) IDEA中JUnit配置 IDEA自帶一個JUnit插件,打開Settings窗口搜

springmvc 專案完整示例02 專案建立-eclipse建立動態web專案 配置檔案 junit單元測試

包結構 所需要的jar包直接拷貝到lib目錄下 然後選定 build path  之後開始寫專案程式碼 配置檔案 ApplicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xml

對於用Powermock編寫的測試用例,sonar單元測試覆蓋率統計不正確的問題

用PowerMock寫的單元測試用例,sonar中覆蓋率顯示問題 sonar中沒有覆蓋率的顯示問題 sonar中覆蓋率顯示不正確 sonar中單元測試用例個數不正確問題 sonar中沒有覆蓋率的顯示問題 pom檔案中jacoco-maven-

IntelliJ的安裝啟用以及Junit單元測試

一、安裝        官網下載,兩個版本,Ultimate和custom,後者免費,但功能較少,不能開發web。因為後期要進行web開發,選擇Ultimate edition,然後就是啟用...licence server address輸入http://idea.cong

Java自定義註解以及模擬單元測試

一、自定義註解1.編寫自定義註解類 @MyTestpackage com.itheima.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; i

加速Java應用開發速度3——單元/整合測試+CI

大家可能對如下情景比較熟悉: 如果開發過SSH的web專案,啟動伺服器可能會比較慢,有的專案甚至需要1分多鐘,甚至更多,這個啟動時間的等待一般就浪費了;在開發專案時,有些功能比較複雜,當時覺得思路特清晰,但是過了一段時間後,自己也忘了,完善功能時頻繁出現bug,降低開發速

nginx虛擬域名的配置以及測試驗證

control dir 技術分享 include 機器 dex con host class 1.保證該機器上安裝了nginx 未安裝請看:centos/linux下的安裝Nginx 2.使用root用戶編輯配置文件 vim /usr/local/nginx/conf/n

laravel 整合 swoole ,並簡單 ab 測試對比性能以及在 PHPstorm 中利用debug調試配置swoole服務中的PHP代碼

監聽 命令 debug laravel 127.0.0.1 圖片 bsp 未來 github 安裝PHP 的 swoole 擴展 及 安裝 laravel,就不描述了 整合 laravel 和 swoole 用了這個輪子,侵入性很小,一行代碼搞定,推薦一下,今天剛用,不能

(轉)使用CUnit進行單元測試覆蓋率統計

CUnit安裝 如果能聯網的話,直接 yum install CUnit-devel.x86_64 就完成安裝了,注意要安裝devel版本,這樣才能找到標頭檔案。 編寫單元測試程式碼 CUnit的測試是單執行緒啟動,只能註冊一個Test Regis

Hive2.3.2整合HBase2的環境配置以及測試

Hive與HBase整合的實現是利用兩者本身對外的API介面互相通訊來完成的,其具體工作交由Hive的lib目錄中的hive-hbase-handler-*.jar工具類來實現,通訊原理如下圖所示。 Hive整合HBase後的使用場景: (一)通過Hive把資料載入到HBase中

深入淺出Android單元測試(一):單元測試基礎

想學習單元測試無從下手,本文對以最易懂的方式介紹單元測試。 若有錯漏,煩請斧正。轉載請註明出處。歡迎關注程式引力 作者:程式引力 | 謝一 (Evan Xie) 郵箱:[email protected] 軟體測試作為軟體質量的保障,有著十分重要的意義。按照不同

<VS2017> 編寫VC++單元測試 -(一)新建單元測試工程

pre 菜單 運行 soft 官方 turn sof 自動 平臺 開發人員自己編寫單元測試是一個非常好的習慣。單元測試不但能夠驗證自己所編寫的代碼是否存在問題,避免提交給測試人員時才發現bug,也可以為將來改動代碼的人提供驗證代碼功能正確性的途徑。在我有限的工作生涯中並未寫

關於單元測試,如何寫出可測試的程式碼?

    單元測試在一個完整的軟體開發流程中是必不可少的、非常重要的一個環節。通常寫單元測試並不難,但有的時候,有的程式碼和功能難以測試,導致寫起測試來困難重重。因此,寫出良好的可測試的(testable)程式碼是非常重要的。接下來,我們簡要地討論一下什麼樣的程式碼是難以測試的,我們應該如何避免寫出難以測試的程

C語言根據協議分割獲取字串單元

協議做如下規定: 規定資料協議: 序列號    長度   狀態字   資料長度  資料1  資料2   資料3 以空格作為資料單元。                         ep:   00

上傳NUnit的單元測試結果和OpenCover的單元測試覆蓋率到SonarQube服務中

SonarQube.Scanner.MSBuild.exe begin /k:"OMDCCQuotes" /d:sonar.host.url="http://myip:9000" /d:sonar.login="mykey" /d:sonar.cs.nunit.reportsPaths="%CD%\Te

談談單元測試之(四):測試工具 TestNG

前言 上一篇文章《測試工具 JUnit 4》中提到了 JUnit 4,並對 JUnit 4 做了簡單的討論,這篇文章我們將要圍繞另一款測試工具討論 —— TestNG。其實,這篇文章應該寫在《測試工具 JUnit 3》之後,和《測試工具 JU

談談單元測試之(三):測試工具 JUnit 4

前言 上一篇文章《測試工具 JUnit 3》簡單的討論了 JUnit 3 的使用以及內部的方法。這篇文章將會在 JUnit 3 的基礎上,討論一下 JUnit 4 的新特性。同時,與 JUnit 3 做一個簡單的對比。那麼,廢話就不多說了,直