C# 單元測試學習筆記

来源:https://www.cnblogs.com/schangxiang/archive/2019/07/18/11207413.html
-Advertisement-
Play Games

1、什麼是單元測試 2、單元測試的好處 (1)協助程式員儘快找到代碼中bug的具體位置 (2)能夠讓程式員對自己的程式更有自信 (3)能夠讓程式員在提交項目之前就將代碼變的更加的強壯 (4)能夠協助程式員更好的進行開發 (5)能夠向其他的程式員展示你寫的程式該如何調用 (6)能夠讓項目主管更瞭解系統 ...


1、什麼是單元測試         2、單元測試的好處 (1)協助程式員儘快找到代碼中bug的具體位置 (2)能夠讓程式員對自己的程式更有自信 (3)能夠讓程式員在提交項目之前就將代碼變的更加的強壯 (4)能夠協助程式員更好的進行開發 (5)能夠向其他的程式員展示你寫的程式該如何調用 (6)能夠讓項目主管更瞭解系統當前的情況 3、單元測試工具     4、如何編寫單元測試 4.1 Assert類   Assert中文意思是斷言。       4.2 TestClass特性   4.3 TestMethod特性     4.4 怎麼評判一個單元測試是否合理或者達到測試目的? 答案是 代碼覆蓋率。 代碼覆蓋率是單元測試寫的是否合理或是否達到要求的唯一標準。 代碼覆蓋率是測試代碼所運行的實際程式路徑的覆蓋率。   怎麼知道代碼覆蓋率是多少呢? VS中提供了查看代碼覆蓋率的工具。   在單元測試項目中,打開測試資源管理器。     雙擊下麵的方法,     深棕色的表示為 沒有被測試到的代碼。 淺藍色的表示為 被測試到的代碼。 淺橘色的表示為 部分被測試到的代碼。     5、單元測試的標準 5.1 對已經存在的項目添加單元測試 步驟一:對所有程式集中的公共類以及公共類裡面的公開方法添加單元測試 步驟二:對於構造函數和公共屬性進行單元測試 步驟三:添加全面單元測試 5.2 對新項目添加單元測試 剛剛開始的項目,已開始就應該對所有公共的方法和屬性都添加單元測試。   5.3 給哪些代碼添加單元測試 首先是 要對屬於框架技術中的代碼添加單元測試。如操作資料庫的組件、操作外部WebService的組件、郵件收發組件等。這些可復用的代碼單元測試,可以大大提高底層操作的正確性和健壯性。 其次為業務邏輯層對界面公開的方法添加單元測試。這樣可以讓業務邏輯保持正確,並且能夠將大部分的業務操作都歸納到單元測試中。保證以後如果業務邏輯出現問題,可以通過單元測試的業務邏輯找到bug。 5.4 編寫單元測試代碼需要註意什麼     5.5 怎麼提高代碼覆蓋率 1、邊界條件數據,比如最大值最小值 2、空數據,引用類型判斷null 3、格式不正確的數據,對象內部的數據結構是否正確。  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在我們做工業軟體中,經常會遇到要實時監控某一點,在這個點變化時去做一些事情 放入程式里呢,就是要實時監控某一屬性的值,當值發生變化時觸發事件,其核心就是藉助屬性的Set方法,來判斷當前set的值是否與原來的值相等,如果相等直接賦值不予理會,如果不相等,說明值變了,根據自己調用的方法,聲明委托,事件, ...
  • GDB資料庫SQL操作平臺 開發本軟體的初衷:由於計算資料庫要素層屬性的時候,涉及到要計算多個欄位,或者要根據代碼計算名稱,得一個一個的篩選並計算,過程比較繁瑣,於是就想能不能通過像處理SQLServer數據一樣的,通過寫SQL語句來執行,在此覺得很有必要,於是就開發了本軟體,通過SQL語句(可以通 ...
  • 首先要引用這個服務,http://www.webxml.com.cn/Webservices/WeatherWebService.asmx 添加服務和引用 >轉到 >高級 >添加WEB應用 >添加引用 到此OK。 1個text,1個button,2個lable private void btn_se ...
  • 嘗試了一天,嘗試了各種方法,一下方法最直接方便. ...
  • Swagger實例分享(VS+WebApi+Swashbuckle) Swagger可以很方便的為發佈的WebApi自動生成優雅的文檔,不需額外自己編寫,只需為項目配置好,是一個很好用的工具,做一個簡單的Demo和大家分享一下~ 1、使用HuGet導入Swashbuckle包 2、修改Swagger ...
  • .NET Core CSharp 初級篇 1 2 本節內容迴圈與判斷 迴圈 迴圈是一個在任何語言都是極為重要的語法,它可以用於很多東西,例如迭代數組等等。在C 中,語法層面的迴圈有: for , foreach , while , do goto 五種。迴圈你可以理解為當某條件滿足時,重覆的執行一段 ...
  • .NET Core CSharp 初級篇 1 3 本節內容為面向對象初級教程 類 簡介 面向對象是整個C 中最核心最有特色的一個模塊了,它很好的詮釋了程式與現實世界的聯繫。 面向對象的三大特征:繼承、多態、封裝;繼承的含義可以理解為集合中的包含關係,例如人類屬於動物類的一個分支,這就是一種繼承。多態 ...
  • 平時收集資料需要使用各類網盤搜索工具,在此特作一個收集連接不定期更新失效連接。按日常使用度來排行 胖次網盤搜索引擎 http://www.panc.cc 雲搜一下就能找到:http://sou.wolfbe.com 特百度 http://www.tebaidu.com 去轉盤網 http://www ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...