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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[UWP]涨姿势UWP源码——Unit Test

發布時間:2025/4/16 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [UWP]涨姿势UWP源码——Unit Test 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[UWP]漲姿勢UWP源碼——Unit Test 原文:[UWP]漲姿勢UWP源碼——Unit Test

  之前我們討論了漲姿勢UWPRSS數據源獲取,以及作為文件存儲到本地,再將數據轉化成Model對象。這部分非UI的內容非常適合添加Unit Test。不涉及UI的話,UT寫起來簡單高效,很是值得投入一點時間以保證程序的可靠性。

  UWPUnit Test創建起來并不復雜,首先在漲姿勢UWP解決方案下,創建和ZhangZiShiRssRead工程同級的UT工程:ZhangZiShiRssRead.UTTest

  

  點擊確定之后,會創建新的UT工程,結構和一般的UWP工程基本一致,同時會自動包含ZhangZiShiRssRead工程的引用,并會創建UnitTestApp這樣的入口文件,以及用于寫Test CaseUnitTest1.cs文件,重命名該文件(通常一個UT工程會有多個UnitTest文件,可以根據測試內容來取名,比如測試FileStoreHelper類的就可以叫FileStoreHelper.Test.cs),我們這里因為所有Test Case都寫在一個文件中,文件名就叫UnitTest.cs

  用于Unit Test的類文件和普通類是同樣的寫法,唯一區別是需要加上[TestClass]attribute來標識。同樣需要運行測試的每個Test Case,也都要加上[TestMethod]attribute

[TestMethod]public async Task TestSaveFile(){var fileStoreHelper = new FileStoreHelper();var rssReader = new RssReader();var result = await rssReader.DownloadRssString();var isSuccess = await fileStoreHelper.SaveRssFileAsync(result);Assert.IsTrue(isSuccess);}[TestMethod]public async Task TestReadFile(){var fileStoreHelper = new FileStoreHelper();var rssReader = new RssReader();var result = await rssReader.DownloadRssString();await fileStoreHelper.SaveRssFileAsync(result);var content = await fileStoreHelper.ReadRssFileAsync();Assert.AreEqual<string>(result, content);}

  寫好UT之后,可以通過菜單欄的“測試”來選擇運行所有的Test Case,這時默認會在左側打開測試資源管理器,其中會顯示PassFailTest Case,堆棧信息等等。

  

  這里需要注意的是,我們的APP可能會用到一些文件放在Asserts目錄,要保證Test工程也有相同的資源,否則可能會無法編譯通過。

  如果在運行測試后,發現個別測試沒有通過,也可以在測試資源管理器中選中失敗的測試,再點擊菜單“測試”->“調試”->“選定的測試”進行單步調試,設置斷點來判斷問題發生的原因,就和正常的debug一樣。

  有時遇到某些對象或數據,在UT環境下無法拿到,一般有兩個方法。一是通過創建Fake類來提供假的同名類和方法來生產假數據。二是修改要測試類或方法的接口,在創建類實例的時候,將數據從外部傳遞進來。

  通常一個Test Case會調用被測試的方法,拿到返回值或者某個被修改的標志位,再通過Assert的方法進行斷言,判斷這個Test Case是否成功運行。我們能夠在Assert類中找到AreEqualIsFalseIsNull等等諸如此類的方法。

  在漲姿勢UWP中,我添加了TestDownloadRssTestParseRssXmlTestSaveFileTestReadFile這四個Test Case,通過測試RssReaderFileStoreHelper兩個類的public方法,進而覆蓋了類內部的private方法。

  本篇簡單介紹了UWP中的單元測試,有興趣的話可以去看看代碼。

  GitHub源代碼地址:

https://github.com/manupstairs/ZhangZiShiRSSRead

  Windows Store

https://www.microsoft.com/zh-cn/store/p/%e6%b6%a8%e5%a7%bf%e5%8a%bfuwp/9nblggh3zqd1

?

posted on 2017-09-20 13:39 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lonelyxmas/p/7561037.html

總結

以上是生活随笔為你收集整理的[UWP]涨姿势UWP源码——Unit Test的全部內容,希望文章能夠幫你解決所遇到的問題。

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