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();
    }
}

相关内容

热门资讯

2分钟透视!心悦手游辅助(辅助... 2分钟透视!心悦手游辅助(辅助挂)一贯是有挂的(wpk教程开挂辅助软件)>>您好:软件加薇13670...
推荐一款!福建天天开心辅助工具... 推荐一款!福建天天开心辅助工具,创思维激k辅助工具,必胜教程(竟然有挂)-哔哩哔哩;亲,有的,ai轻...
两分钟了解!战神辅助众包(辅助... 两分钟了解!战神辅助众包(辅助挂)原来是有挂(玩家教程开挂辅助下载)《详细加薇136704302咨询...
玩家必看分享!玉海楼茶苑app... 玩家必看分享!玉海楼茶苑app辅助,wepoker辅助软件价格,细节方法(真的有挂)-哔哩哔哩;we...
1分钟详情!手机卡五星辅助软件... >>您好:手机卡五星辅助软件确实是有挂的,很多玩家在这款手机卡五星辅助软件游戏中打牌都会发现很多用户...
分享个大家!微乐江苏小程序游戏... 分享个大家!微乐江苏小程序游戏破解下载,杭州都莱辅助软件有没有用,存在挂教程(的确有挂)-哔哩哔哩;...
第四分钟开挂!四川血战到底攻略... 第四分钟开挂!四川血战到底攻略(辅助挂)其实有挂(AI教程开挂辅助安装)四川血战到底攻略ai黑科技系...
透视线上!四川途游小程序辅助,... 透视线上!四川途游小程序辅助,欢乐情怀辅助挂,微扑克教程(存在有挂)-哔哩哔哩;相信小伙伴都知道这个...
4分钟透视!鄱阳翻精辅助软件(... 4分钟透视!鄱阳翻精辅助软件(辅助挂)果然是有挂的(攻略教程!开挂辅助工具)>>您好:软件加1367...
必备教程!新海贝之城app破解... 必备教程!新海贝之城app破解,陕西奇迹打锅子破解,教你攻略(存在有挂)-哔哩哔哩;陕西奇迹打锅子破...