日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用MS Test做单元测试

發布時間:2023/12/4 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用MS Test做单元测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聲明:本篇博客翻譯自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/

寫在翻譯之前:

依然清晰的記得剛工作的第一個項目中,在完成一個功能模塊開發后,師傅讓我把代碼做一下單元測試。當時一臉“懵懂”。心里的疑惑油然而生,測試不應該是測試人員做的嗎?然后就寫了一些測試用例把功能簡單過了一遍。過了幾天后,師傅問我單元測試完成了嗎?我很自信的告訴師傅搞定了。師傅讓我把單元測試的代碼提交到服務器上,他想Review一下!我更加疑惑了,對師傅說,單元測試還要寫代碼呀?:(

前言:

很多初級開發工程師都會有這樣的困惑:誰應該來做單元測試。單元測試應該是由開發者來完成的。

單元測試:

通過一些代碼來測試一個方法/函數的行為。

為什么需要單元測試:

  • 通常情況下,一個軟件項目會長期運行/維護/更新,這個時間至少也會有5年的時間;

  • 在這期間,維護這個程序非常重要;

  • 任何一個代碼的改動都有可能會影響程序的其他功能模塊;

  • 因此在更新程序之間,會需要做大量的回歸測試(Regression Testing),這將花費測試工程師大量的時間。

想象一下如果代碼修改需要非常頻繁,那么花費在回歸測試上的精力會非常多,同樣的,也會有很大的幾率捕捉到功能回退(修改缺陷)的問題。

回歸測試:

回歸測試是確保當增加了新的修改后,老的功能依舊可以正常使用。

單元測試:

  • 單元測試將會最小化回歸測試的范圍:

  • 每一個方法/函數都會被一系列的測試方法覆蓋,這些測試方法將測試真實方法的功能;

  • 測試方法會檢查下面的場景/行為:

    • 成功/正常流程

    • 失敗

    • 異常/錯誤處理

  • 一個方法可能需要多個測試方法,這取決于測試方法的復雜度;

  • 在代碼交付之前,開發者需要確保所有的測試方法均運行通過

TDD:

?

在寫產品代碼之前先寫單元測試代碼,然后使用產品代碼來填充/覆蓋測試代碼。最終使測試代碼都運行通過。

編寫測試用例:

在C#中有2個測試框架

  • MS?Test

  • NUnit

我們使用AAA模式來編寫單元測試

  • 安排所以必須的前置條件和輸入;

  • 在測試代碼中操作被測試對象和方法;

  • 斷言期待的結果;

  • 右擊解決方案瀏覽器,選擇Unit?Test?Project并添加:

    Employee類:


    public?class?Employee { ????public?string?GetName(string?firstName,?string?lastName) ????{ ????????return?string.Concat(firstName,?" ", lastName); ????} }

    ?單元測試類:


    [TestClass] public?class?EmpoyeeFunctionalTest { ????[TestMethod] ????public?void?GetNameTest() ????{ ????????// Arrange ????????Employee employee =?new?Employee(); ????????string?firstName =?"Jimmy"; ????????string?lastName =?"Yang"; ????????string?expacted =?"Jimmy Yang"; ????????string?actual =?string.Empty; ????????// Act ????????actual = employee.GetName(firstName, lastName); ????????// Assert ????????Assert.AreEqual(expacted, actual); ????} }

    ?希望上述內容能夠幫助你對單元測試有一個概念性的認識。

    原文:http://www.cnblogs.com/yang-fei/p/7858078.html


    .NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com


    總結

    以上是生活随笔為你收集整理的使用MS Test做单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。