.NET Core單元測試的兩種方法介紹
應(yīng)用程序測試的類型很多,包括集成測試,Web 測試,負(fù)載測試等。在最底層的是單元測試,此測試可以測試單個軟件組件或方法。單元測試一般只測試開發(fā)人員的代碼,不應(yīng)該測試基礎(chǔ)結(jié)構(gòu)普、問題,如數(shù)據(jù)庫,文件系統(tǒng)或網(wǎng)絡(luò)資源等。單元測試可以使用測試驅(qū)動開發(fā)(TDD)編寫,也可以將它們添加到現(xiàn)有代碼已確認(rèn)其正確性。
在編寫單元測試時,注意不要隨意地在基礎(chǔ)結(jié)構(gòu)上引入依賴項。這些依賴項往往使測試更慢,更脆弱,因此應(yīng)該將其保留用于繼承測試。可以通過遵循顯示依賴性原則,使用依賴注入從框架請求依賴關(guān)系,以此來避免應(yīng)用程序代碼中地這些隱藏依賴關(guān)系。
1.xUnit.net 單元測試
創(chuàng)建一個 .net core 類庫項目,創(chuàng)建一個用于測試的方法:
public class UnitTest { public bool IsNum(string obj) { var i = 0; return int.TryParse(obj, out i); } }
然后添加 xUnit 測試項目:
創(chuàng)建測試成功和測試失敗的方法:
public class UnitTest1 { private UnitTest myTest; public UnitTest1() { myTest = new UnitTest(); } [Fact] public void TestSuccess() { Assert.True(myTest.IsNum("1")); } [Fact] public void TestFail() { Assert.True(myTest.IsNum("q")); } }
[Fact] 特性將方法表示為單個測試。
在 VS 工具欄中選擇 測試-- 運(yùn)行 -- 所有測試,顯示一個成功,一個失?。?/p>
也可以使用[Theory] 特性執(zhí)行相同的代碼,但具有不同輸入?yún)?shù)的測試,使用[InlineData] 特性來指定這些輸入的參數(shù):
[Theory] [InlineData("-1")] [InlineData("0")] public void Test(string str) { Assert.True(myTest.IsNum(str)); }
2.MSTest 單元測試
xUnit 使跨平臺的良好選擇,在面向 Windows 時,MSTest 是一個更好的選擇,因為是官方提供的支持。
創(chuàng)建 MSTest 測試項目,同樣添加測試成功和失敗的方法,在方法上添加 [TestMethod] 特性,并在類上添加特性 [TestClass]:
[TestClass] public class UnitTest1 { private UnitTest myTest; public UnitTest1() { myTest = new UnitTest(); } [TestMethod] public void TestSuccess() { Assert.IsTrue(myTest.IsNum("1")); } [TestMethod] public void TestFail() { Assert.IsTrue(myTest.IsNum("q")); } }
到此這篇關(guān)于.NET Core單元測試的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET編程中經(jīng)常用到的27個函數(shù)集
asp.net 整理的27個函數(shù)集,大家可以參考下2008-08-08利用noesis.Javascript開源組件.Net中執(zhí)行javascript腳本
利用Noesis.Javascript開源組件可以做到在.net中執(zhí)行js腳本,同時js腳本也能調(diào)用C#函數(shù)。這個組件的獲得方式:在NuGet中輸入搜索"Noesis"就能找到,我們來做個搜索功能:用戶能夠在textbox中輸入js腳本來篩選list記錄2013-12-12http轉(zhuǎn)https的實戰(zhàn)記錄(iis 7.5)
這篇文章主要給大家介紹了關(guān)于http轉(zhuǎn)https的相關(guān)資料,文中是最近的一次實戰(zhàn)記錄,基于iis7.5,通過一步步的圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2018-01-01ASP.NET中Session和Cache的區(qū)別總結(jié)
這篇文章主要介紹了ASP.NET中Session和Cache的區(qū)別總結(jié),本文結(jié)合使用經(jīng)驗,總結(jié)出了5點Session緩存和Cache緩存的區(qū)別,需要的朋友可以參考下2015-06-06如何在ASP.NET Core 的任意類中注入Configuration
這篇文章主要介紹了如何在 ASP.NET Core 的任意類中注入Configuration ,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04