.NET|.NET Core单元测试的两种方法介绍
应用程序测试的类型很多,包括集成测试,Web 测试,负载测试等。在最底层的是单元测试,此测试可以测试单个软件组件或方法。单元测试一般只测试开发人员的代码,不应该测试基础结构普、问题,如数据库,文件系统或网络资源等。单元测试可以使用测试驱动开发(TDD)编写,也可以将它们添加到现有代码已确认其正确性。
【.NET|.NET Core单元测试的两种方法介绍】在编写单元测试时,注意不要随意地在基础结构上引入依赖项。这些依赖项往往使测试更慢,更脆弱,因此应该将其保留用于继承测试。可以通过遵循显示依赖性原则,使用依赖注入从框架请求依赖关系,以此来避免应用程序代码中地这些隐藏依赖关系。
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")); }}
到此这篇关于.NET Core单元测试的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- .Net|.Net Core解决WebAPI中返回时间格式带T的问题
- ASP.NET|ASP.NET MVC使用区域(Area)功能
- asp.net网站开发教程(如何开始第一个ASP.NET Web应用程序())
- asp网站开发实例(使用ASP.NET MVC编写的10大网站)
- .NET MAUI发布了期待已久的候选版本(RC1)
- .NET|.NET MAUI发布了期待已久的候选版本(RC1)
- .Net语言 APP开发平台——Smobiler学习日志(如何在手机中调用邮件发送接口)
- Excel怎么合并单元格
- asp.net 中的app_offline.htm的使用
- 安装mysql时,提示This application requires .NET framework 4.0问题