Autofixture.NSubstitutecheckreceivedcallswithoutfreezing
创始人
2024-11-12 13:30:23
0

Autofixture和NSubstitute是两个非常流行的测试框架,它们可以帮助我们开发更稳健和高质量的代码。在使用Autofixture和NSubstitute进行测试时,我们经常需要验证被测方法是否正确地调用了一些依赖的方法或接口。

当我们使用Autofixture和NSubstitute进行测试时,有时会发现在验证被测方法的调用时会出现问题。这是因为Autofixture默认会冻结依赖的方法或接口,导致无法检查它们被正确调用。为了解决这个问题,我们可以使用AutoConfiguredNSubstituteCustomization类来取消依赖的冻结。

以下是示例代码:

// 安装AutoFixture.AutoNSubstitute和AutoFixture.Xunit2包

public interface IDependency
{
    string GetMessage();
}

public class MyClass
{
    private readonly IDependency _dependency;

    public MyClass(IDependency dependency)
    {
        _dependency = dependency;
    }

    public void MyMethod()
    {
        // 调用IDependency接口
        _dependency.GetMessage();
    }
}

public class MyTestClass
{
    [Fact]
    public void TestMethod()
    {
        // 取消IDependency接口的冻结
        var fixture = new Fixture().Customize(new AutoConfiguredNSubstituteCustomization { ConfigureMembers = true });

        // 创建IDependency的Substitute实例
        var dependencyMock = fixture.Create();

        // 创建MyClass的实例,并将IDependency的Substitute实例注入其构造函数
        var myClass = new MyClass(dependencyMock);

        // 调用被测方法
        myClass.MyMethod();

        // 验证IDependency的GetMessage方法是否被正确调用
        dependencyMock.Received(1).GetMessage();
    }
}

相关内容

热门资讯

技术分享!We poker辅助... 技术分享!We poker辅助器下载,aa poker辅助,确实是有挂(有挂助手)辅助器是一种具有地...
总结辅助挂!wepoker游戏... 总结辅助挂!wepoker游戏下载,德普辅助器怎么用,本来是真的有挂(有挂攻略)1、上手简单,内置详...
随着!线上德州的辅助器是什么,... 您好,德扑之星私人局辅助免费这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】...
教学盘点!we poker插件... 教学盘点!we poker插件,德普之星透视软件免费入口官网,原来是真的有挂(揭秘有挂)1、游戏颠覆...
现有关情况通报如下!wepok... 现有关情况通报如下!wepoker辅助软件价格,德普之星有辅助软件吗,真是是真的有挂(有挂技术)小薇...
一分钟揭秘!wpk作弊,wep... 一分钟揭秘!wpk作弊,wepoker亲友圈有用吗,确实是有挂(确实有挂)1、一分钟揭秘!wpk作弊...
软件辅助挂!wepokerpl... 软件辅助挂!wepokerplus开挂,德普之星辅助软件,好像是真的有挂(有挂方针)1、在德普之星辅...
总算了解!wepoker如何设... 总算了解!wepoker如何设置透视,fishpoker透视,总是真的是有挂(真的有挂)1、任何透视...
据相关数据显示!哈糖大菠萝能开... 据相关数据显示!哈糖大菠萝能开挂吗,德扑之星透视,一贯真的是有挂(果真有挂)德扑之星透视辅助器是一种...
科普分享!来玩app破解,hh... 科普分享!来玩app破解,hhpoker软件靠谱吗,切实真的有挂(有挂规律)1、上手简单,内置详细流...