全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C#怎么进行单元测试 C# xUnit测试项目创建方法

推荐在C#中使用xUnit进行单元测试,因其轻量、现代且官方推荐,更契合.NET Core/.NET 5+项目;需正确创建测试项目、引用被测项目、编写带[Fact]/[Theory]特性的测试方法,并通过Test Explorer或dotnet test运行。

在C#中做单元测试,推荐用 xUnit(轻量、现代、官方推荐),比 NUnit 和 MSTest 更契合 .NET Core/.NET 5+ 项目。创建一个 xUnit 测试项目很简单,关键是要和被测项目正确引用、结构清晰、测试写得可维护。

新建 xUnit 测试项目

用命令行或 Visual Studio 都能快速创建:

  • Visual Studio 中:右键解决方案 → “添加” → “新建项目” → 搜索 “xUnit Test Project” → 选“.NET xUnit Test Project”(确保目标框架与被测项目一致,如 .NET 6 或 .NET 8)→ 命名并创建
  • 命令行(.NET CLI)dotnet new xunit -n MyProject.Tests → 然后用 dotnet sln add MyProject.Tests/MyProject.Tests.csproj 加入解决方案

引用被测项目

测试项目必须引用你要测的业务项目(比如叫 MyApp.Core),否则没法访问类和方法:

  • 右键测试项目 → “添加项目引用” → 勾选你的主项目
  • 或命令行:dotnet add MyProject.Tests/MyProject.Tests.csproj reference MyApp.Core/App.Core.csproj
  • 确认 .csproj 文件里有类似

写第一个测试方法

xUnit 使用 [Fact] 标记普通测试,用 [Theory] + [InlineData] 做参数化测试。别忘了 using xunit:

using Xunit;
using MyApp.Core;

public class CalculatorTests { [Fact] public void Add_ReturnsCorrectResult() { var calc = new Calculator(); var result = calc.Add(2, 3); Assert.Equal(5, result); }

[Theory]
[InlineData(1, 1, 2)]
[InlineData(0, 0, 0)]
[InlineData(-1, 1, 0)]
public void Add_HandlesMultipleCases(int a, int b, int expected)
{
    var calc = new Calculator();
    Assert.Equal(expected, calc.Add(a, b));
}

}

运行和调试测试

测试写完后,不用手动编译运行:

  • Visual Studio:打开“测试资源管理器”(Test → Windows → Test Explorer),点击“运行全部”或单个测试
  • 命令行:dotnet test(在测试项目目录下执行)
  • 调试测试:在测试方法内打断点 → 右键 → “调试测试”,和调试业务代码一样

基本上就这些。xUnit 结构干净、无冗余基类、强调不可变和函数式风格,适合现代 C# 项目。只要项目引用对了、测试方法加了正确特性、断言写清楚,就能跑起来。


# windows  # app  # 资源管理器  # win  # c#  # .net  # include  # using  # visual studio  # 右键  # 命令行  # 单元测试  # 第一个  # 就能  # 你要  # 都能  # 很简单  # 别忘了  # 写得 


相关文章: 行程制作网站有哪些,第三方机票电子行程单怎么开?  如何在万网ECS上快速搭建专属网站?  一键网站制作软件,义乌购一件代发流程?  婚礼视频制作网站,学习*后期制作的网站有哪些?  制作网站外包平台,自动化接单网站有哪些?  已有域名和空间如何快速搭建网站?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  如何快速搭建响应式可视化网站?  如何通过NAT技术实现内网高效建站?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  无锡营销型网站制作公司,无锡网选车牌流程?  Android自定义控件实现温度旋转按钮效果    如何在Tomcat中配置并部署网站项目?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  专业网站建设制作报价,网页设计制作要考什么证?  网站代码制作软件有哪些,如何生成自己网站的代码?  如何在Windows虚拟主机上快速搭建网站?  济南企业网站制作公司,济南社保单位网上缴费步骤?  宝塔新建站点为何无法访问?如何排查?  网站制作软件有哪些,制图软件有哪些?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何做网站制作流程,*游戏网站怎么搭建?  如何快速辨别茅台真假?关键步骤解析  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  如何用西部建站助手快速创建专业网站?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  如何在万网主机上快速搭建网站?  如何在建站之星网店版论坛获取技术支持?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  建站之星后台密码如何安全设置与找回?  如何通过山东自助建站平台快速注册域名?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何快速搭建虚拟主机网站?新手必看指南  建站之星会员如何解锁更多建站功能?  已有域名如何快速搭建专属网站?  中山网站推广排名,中山信息港登录入口?  建站之星2.7模板:企业网站建设与h5定制设计专题  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  中山网站制作网页,中山新生登记系统登记流程?  实现虚拟支付需哪些建站技术支撑?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。