.NET Core 单元测试
應用程序測試的類型很多,包括集成測試,Web 測試,負載測試等。在最底層的是單元測試,此測試可以測試單個軟件組件或方法。單元測試一般只測試開發人員的代碼,不應該測試基礎結構普、問題,如數據庫,文件系統或網絡資源等。單元測試可以使用測試驅動開發(TDD)編寫,也可以將它們添加到現有代碼已確認其正確性。
在編寫單元測試時,注意不要隨意地在基礎結構上引入依賴項。這些依賴項往往使測試更慢,更脆弱,因此應該將其保留用于繼承測試??梢酝ㄟ^遵循顯示依賴性原則,使用依賴注入從框架請求依賴關系,以此來避免應用程序代碼中地這些隱藏依賴關系。
?
1.xUnit.net 單元測試
創建一個 .net core 類庫項目,創建一個用于測試的方法:
public class UnitTest{public bool IsNum(string obj){var i = 0;return int.TryParse(obj, out i);}}然后添加 xUnit 測試項目:
創建測試成功和測試失敗的方法:
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 工具欄中選擇 測試-- 運行 -- 所有測試,顯示一個成功,一個失敗:
也可以使用?[Theory] 特性執行相同的代碼,但具有不同輸入參數的測試,使用?[InlineData] 特性來指定這些輸入的參數:
[Theory][InlineData("-1")][InlineData("0")]public void Test(string str){Assert.True(myTest.IsNum(str));}?
2.MSTest 單元測試
xUnit 使跨平臺的良好選擇,在面向 Windows 時,MSTest 是一個更好的選擇,因為是官方提供的支持。
創建 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"));}}?
轉載于:https://www.cnblogs.com/afei-24/p/11407023.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的.NET Core 单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星gear手表设置(三星gear手表应
- 下一篇: 二傻子是爱你的意思吗