VS Code中基于MSTest编写和运行测试

MS Test(Microsoft Test Framework)是微软提供的一个用于.NET应用程序的单元测试框架。以下是一个使用MS Test进行单元测试的示例,该示例将涵盖测试的基本步骤和概念。

项目搭建

在VS Code中开发C#时,创建solution(解决方案)和project(项目)的步骤相对直接,主要依赖于.NET CLI(命令行接口)和VS Code的扩展功能。以下是详细的步骤:

创建Solution

  1. 打开VS Code
    • 启动VS Code,并创建一个新的工作区或打开一个已存在的文件夹作为工作区。
  2. 打开终端
    • 在VS Code中,通过`Ctrl+``(反引号)打开集成的终端。
  3. 创建Solution
    • 使用.NET CLI命令dotnet new sln来创建一个新的解决方案。您可以通过-n参数指定解决方案的名称,但如果不指定,则默认为当前文件夹的名称加上.sln后缀。例如:
dotnet new sln -n MyCSharpSolution
    如果不指定`-n`,则在当前目录下生成一个名为`MySolution.sln`的解决方案文件(假设当前文件夹名为MySolution)。

创建Project

  1. 创建项目
    • 在同一终端中,使用dotnet new命令来创建一个新的项目。可以根据需要选择不同的项目模板,如console(控制台应用程序)、classlib(类库)等。例如,创建一个控制台应用程序:
        dotnet new console -n MyProject -o ./MyProject
    这里`-n`指定了项目名称,`-o`指定了项目目录。
  1. 将项目添加到Solution
    • 使用dotnet sln add命令将新创建的项目添加到解决方案中。例如:
dotnet sln MyCSharpSolution.sln add ./MyProject/MyProject.csproj
    这里`MySolution.sln`是解决方案文件的名称,`./MyProject/MyProject.csproj`是项目文件的路径。

配置和调试

  1. 配置调试
    • VS Code可能会自动为C#项目生成launch.jsontasks.json文件,这些文件用于配置调试和编译任务。可以在.vscode文件夹中找到这些文件,并根据需要进行修改。
  2. 启动调试
    • 在VS Code中,使用侧边栏中的“运行和调试”视图,点击绿色的“开始调试”按钮或按F5键来启动调试会话。确保在launch.json中正确配置了调试配置。
  3. 编写和测试代码
    • 现在,可以在项目中编写C#代码,并使用VS Code的调试功能来测试代码。

测试示例场景

假设有一个简单的类Calculator,它包含一个加法方法Add,现在需要为这个加法方法编写单元测试。

在项目中添加Calculator类,内容如下:

using System;
namespace Calculator
{
    public class Calculator
    {
        public int Add(int a, int b)
        { return a + b; }
    }
}

创建测试项目

可以使用命令行的方式创建测试项目:
在解决方案中,添加一个新的MSTest测试项目。

  dotnet new console -n MyProject.Tests -o ./MyProject.Tests

将测试项目添加到 Solution

dotnet sln MyCSharpSolution.sln add ./MyProject.Tests/MyProject.Tests.csproj

这里推荐在VS Code的Solution 中直接添加MS Test的项目,操作方式是在Solution 上点击 Create Project 的按钮,接着在命令框中选择MSTest Test Project.

在这里插入图片描述

步骤 添加项目引用

将测试项目与被测项目(即包含Calculator类的项目)关联起来。
在左侧的 “SOLUTION EXPLORER”选中测试项目,右击“依赖项”或“引用”,选择“添加项目引用”,
在这里插入图片描述

选择原项目
在这里插入图片描述

编写测试类和方法

在测试项目中,创建一个新的测试类,并使用MSTest的[TestClass][TestMethod]属性来标记测试类和测试方法。

namespace MyProject.Tests;

using Microsoft.VisualStudio.TestTools.UnitTesting;
using CalculatorNamespace; // 引入被测项目的命名空间    


[TestClass]
public class CalculatorTests
{
    [TestMethod]
    public void Add_TwoNumbers_ReturnsCorrectSum()
    {
        // Arrange          
        Calculator calculator = new Calculator();
        int a = 5; int b = 7;
        int expected = 12;                // Act     
        int actual = calculator.Add(a, b);
        // Assert           
        Assert.AreEqual(expected, actual, "The sum of 5 and 7 should be 12.");
    }
}

步骤 5: 运行测试

在Visual Studio中,你可以使用“测试资源管理器”来运行和查看测试结果。右击测试方法或测试类,选择“运行选中的测试”或“运行所有测试”。

在这里插入图片描述

在 Test Result 可以看到运行的结果。

在这里插入图片描述

命令行运行测试

如果希望在命令行中运行测试,可以使用dotnet test命令(对于.NET Core或.NET 5/6/7等较新版本的项目)。首先,确保你的测试项目是一个.NET Core或.NET SDK风格的项目,并且已经包含了必要的NuGet包(如Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFramework)。

打开命令行工具(如CMD、PowerShell或终端),导航到包含测试项目文件的目录,然后运行:

dotnet test

这将编译测试项目,运行所有测试,并显示测试结果。
在这里插入图片描述



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oscar999

送以玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值