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

相关内容

热门资讯

大神推荐!微信小程序游戏辅助(... 您好:微信小程序游戏辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
重大推荐!微乐贵阳捉鸡麻将能不... 重大推荐!微乐贵阳捉鸡麻将能不能开挂(辅助挂)哈糖大菠萝挂法(最初是有挂);亲,有的,ai轻松简单,...
新手必备!先锋脚本辅助(辅助挂... 新手必备!先锋脚本辅助(辅助挂)wepoker怎么看底牌(确实存在有挂)是一款可以让一直输的玩家,快...
玩家必看科普!微信微乐游戏辅助... 玩家必看科普!微信微乐游戏辅助脚本(辅助挂)aapoker万能辅助器(往昔存在有挂);微信微乐游戏辅...
一分钟揭秘!四川熊猫辅助器(辅... 您好,四川熊猫辅助器这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这...
今日重大通报!青橙竞技游戏辅助... 您好,青橙竞技游戏辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
如何分辨真伪!蜀门手游辅助免费... 如何分辨真伪!蜀门手游辅助免费脚本(辅助挂)德州之星扫描器(确实存在有挂);1、完成蜀门手游辅助免费...
重大通报!哥哥打大a辅助工具靠... 重大通报!哥哥打大a辅助工具靠谱嘛(辅助挂)wepoker俱乐部辅助(好像是真的有挂)是一款可以让一...
玩家必备科技!欢乐茶馆辅助(辅... 玩家必备科技!欢乐茶馆辅助(辅助挂)hhpoker德州透视(原本是有挂)是一款可以让一直输的玩家,快...
玩家必看!开心泉州小程序辅助免... 玩家必看!开心泉州小程序辅助免费下载(辅助挂)wepoker辅助器下载(素来真的是有挂)是一款可以让...