在visual studio中可直接创建mstest或xunit测试项目,添加对被测项目的引用后,用[testclass]和[testmethod]编写命名规范、含断言的测试方法,并通过测试资源管理器运行调试。

在Visual Studio中为C#类库或控制台项目添加可自动运行、可调试、带断言验证的单元测试,是保障代码逻辑正确性的基础操作。你不需要额外安装插件(VS 2019及以后版本已内置完整支持),也不依赖外部工具链,所有步骤都在IDE内闭环完成。
创建单元测试项目
在“解决方案资源管理器”中右键点击解决方案节点 → 选择“添加”→“新建项目”。
在弹出窗口的搜索框中输入 【mstest】,从模板列表中选择“MSTest 测试项目”(.NET 6/7/8+推荐)或“xUnit 测试项目”(若偏好函数式风格)。不要选“NUnit 项目”,它需手动安装NuGet包,易因版本错配导致编译失败。
点击“下一步”,将项目命名为 【YourProjectName.Tests】(例如 StringLibrary.Tests),保持框架与被测项目一致(如被测项目是.NET 8,测试项目也选.NET 8),然后点击“创建”。
添加对被测项目的引用
在新建的测试项目上右键 → 选择“添加”→“项目引用”。
勾选你要测试的那个项目(比如 StringLibrary),点击“确定”。【这一步不可跳过——没有引用,测试代码根本找不到待测类和方法】
此时若测试项目报错“找不到类型或命名空间”,说明引用未生效,需关闭再重新打开解决方案,或手动检查 .csproj 文件中是否已生成
Visual Studio 18.8.1 官方固定版本安装引导程序,当前条目使用微软发布历史中的 Professional Web Installer,适合旧项目兼容、环境回退、复现特定构建链和排查版本差异等场景。
编写第一个测试方法
打开测试项目中的 UnitTest1.cs(或自定义类名),删除默认的 TestMethod1 方法体,按以下结构重写:
用 [TestClass] 标记整个类;每个待测功能单独写一个方法,以 [TestMethod] 开头;方法名建议采用 【被测方法名_场景_期望结果】 格式,例如 IsEven_WhenInputIs4_ReturnsTrue。
在方法体内,先实例化被测类(如 var calc = new Calculator();),再调用目标方法,最后用 Assert.AreEqual、Assert.IsTrue 等断言验证输出。不要在测试方法里写 Console.WriteLine 或 try-catch——它们会掩盖真实失败原因。
运行并查看测试结果
点击顶部菜单栏“测试”→“窗口”→“测试资源管理器”,确保面板已打开。
面板中会自动列出所有标记了 [TestMethod] 的方法。点击“全部运行”,或右键单个测试→“运行选中的测试”。
绿色对勾表示通过,红色叉号表示失败;点击失败项可直接跳转到断言抛异常的位置,并在输出窗口看到具体不匹配值(如 “Expected: 5, Actual: 0”)。
若测试长期卡在“正在运行…”状态,大概率是测试方法里调用了阻塞I/O(如 File.ReadAllText 读取不存在路径)或死循环——请立即中断并检查逻辑。










