Verify.Xunit包使用方法

Verify.Xunit包使用方法

背景知识

Verify.Xunit:一个与xUnit测试框架结合使用的扩展库,旨在帮助简化和增强对模拟对象的验证过程。

模拟对象:单元测试中用来替代或模拟真实对象的一个特殊对象,能够模拟某个依赖项的行为。

依赖性:外部服务、API调用等。

使用方法

版本

.NET框架 xUnit Verify.Xunit
.NET6.0 2.9.3 26.6.0

使用NuGet安装Verify.Xunit软件包

image

测试过程

  1. 给定一个要测试的类
public class Apple
{
    private string Name { get; set; }
    private AppleType AppleType { get; set; }

    public Apple(string name, AppleType appleType)
    {
        Name = name;
        AppleType = appleType;
    }

    public (string, AppleType) GetApple()
    {
        return (Name, AppleType);
    }
}

其中,AppleType为枚举类型:

public enum AppleType
{
    Unrip,          // 未成熟
    ParitallyRipe,  // 部分成熟
    Ripe,           // 完全成熟
    Overripe        // 过熟
}
  1. 创建一个测试类Tests.cs
public class Tests
{
    [Fact]
    public Task VerifyAppleData()
    {
        // arrange
        var apple = new Apple("Good Apple", AppleType.ParitallyRipe);

        // act
        var data = apple.GetApple();

        // verify
        return Verify(data);
    }
}
  1. 运行测试前:

测试类所在文件夹的内容:

image

测试未运行:

image

  1. 运行测试:

image

  1. 测试结果(第一次测试结果):

image

放大信息提示框内容:

图片失效即显示

图中序号映射:

序号 名称 描述
1 测试结果 Failed:VerifyException:Directory:xxx
2 Tests.VerifyAppleData.verified.txt 类名.测试方法名.verified.txt
3 显示差异 通过差异工具TortoiseGitMerge.exe显示差异
4 Rider Unit Test Runner弹框 Kill orphaned processes: TortoiseGitMerge.exe
5 信息提示框 显示报错信息

具体描述:

① 运行测试方法

② 创建一个新文件 类名.测试方法名.verified.txt

image

③ 差异工具TortoiseGitMerge显示类名.测试方法名.received.txt类名.测试方法名.verified.txt两个文件内容差异

④ 关闭差异工具,类名.测试方法名.verified.txt文件被保留

  1. 接受差异,或者直接把差异内容复制粘贴到 .verified.txt文件中
图片失效即显示

image

  1. 再次运行测试:

image

  1. 测试结果(第二次测试结果):

image

  1. 修改 .verfied.txt文件内容:

image

  1. 再次运行测试,测试结果(第三次测试结果):

image

放大信息提示框内容:

图片失效即显示

图中序号映射:

序号 名称 描述
1 verified.txt文件内容 步骤9修改的
2 测试类同级目录下的文件 .received.txt文件出现了
3 显示差异 两个文件的内容差异

具体描述:

① 运行测试方法

② 创建一个新文件 类名.测试方法名.received.txt

image

③ 差异工具TortoiseGitMerge显示类名.测试方法名.received.txt类名.测试方法名.verified.txt两个文件内容差异

image

④ 关闭差异工具,类名.测试方法名.received.txt文件被保留

  1. 接受差异,或者直接把差异内容从.received.txt文件复制粘贴到 .verified.txt文件中
图片失效即显示

image

  1. 再次运行测试,测试结果(第四次测试结果):

image

附录

测试中常见的几个单词:

单词 含义
Assert 断言
Verify 验证
Fact 事实

引用

  1. VerifyTests Github
    https://github.com/VerifyTests/Verify?tab=readme-ov-file#snippet-SampleTestXunit

文章声明

内容准确性:我会尽力确保所分享信息的准确性和可靠性,但由于个人知识有限,难免会有疏漏或错误。如果您在阅读过程中发现任何问题,请不吝赐教,我将及时更正。

posted on 2025-01-24 16:37  wubing7755  阅读(57)  评论(0)    收藏  举报