AutoFixture的类型自定义未被调用。
创始人
2024-11-12 13:30:32
0

AutoFixture 是一个用于生成测试数据的库,可以帮助减少手动编写测试数据的工作量。在使用 AutoFixture 时,有时候需要对某些特定类型进行自定义,但是发现自定义并未生效。

以下是解决该问题的一种方法:

  1. 创建一个自定义的 Fixture,继承自 AutoFixture 的 DefaultFixture 类。
public class CustomFixture : DefaultFixture
{
    public CustomFixture()
    {
        Customize(new MyCustomization());
    }
}
  1. 创建一个自定义的 SpecimenBuilder,实现 ISpecimenBuilder 接口,用于对特定类型进行自定义。
public class MyCustomization : ISpecimenBuilder
{
    public object Create(object request, ISpecimenContext context)
    {
        var type = request as Type;
        if (type != null && type == typeof(MyCustomType))
        {
            // 在这里进行自定义操作,例如返回一个特定的实例
            return new MyCustomType("Custom data");
        }

        return new NoSpecimen();
    }
}
  1. 使用自定义的 Fixture 来生成测试数据。
var fixture = new CustomFixture();
var myCustomType = fixture.Create();

在上述代码中,自定义的 Fixture 类 CustomFixture 继承自 DefaultFixture,并在构造函数中调用 Customize 方法,将 MyCustomization 类传递给它。MyCustomization 类实现了 ISpecimenBuilder 接口,在 Create 方法中对特定类型进行自定义操作。

通过以上的自定义 Fixture 和 SpecimenBuilder,就可以解决 AutoFixture 的类型自定义未被调用的问题。

相关内容

热门资讯

透视计算!圣游科技(透视)ag... 透视计算!圣游科技(透视)agpoker辅助(新2026教程有挂教学)>>您好:软件加薇136704...
透视安卓版!卡农大厅辅助(透视... 透视安卓版!卡农大厅辅助(透视)xpoker怎么辅助(细节揭秘真的有挂)>>您好:软件加136704...
一分钟了解!wepoker辅助... 一分钟了解!wepoker辅助器软件下载(透视)pokermaster辅助器(微扑克教程有挂教学)您...
我来教教你!荔枝竞技破解版(透... 我来教教你!荔枝竞技破解版(透视)wepoker辅助器激活码(详细教程有挂方式)您好:wepoker...
重大通报!福建13水有挂吗(透... 您好:这款wepoker透视是真的吗游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker透视...
科技揭秘!hhpoker辅助挂... 科技揭秘!hhpoker辅助挂是真的吗(透视)hhpoker德州透视(必赢方法有挂细节)【无需打开直...
带你了解!微信小程序功夫川辅助... 带你了解!微信小程序功夫川辅助(透视)有哪些免费的wpk辅助码(黑科技教程有挂细节)您好:有哪些免费...
科普分享!四川麻将口诀顺口溜(... hhpoker视频巡查真的假的开挂教程视频分享装挂详细步骤在当今的网络游戏中,hhpoker视频巡查...
透视游戏!wepokerplu... 透视游戏!wepokerplus辅助(透视)xpoker辅助助手(可靠教程有挂辅助);无需打开直接搜...
推荐攻略!中至赣牌圈挂件价格明... 推荐攻略!中至赣牌圈挂件价格明细(透视)wpk透视插件(技巧教程有挂技术)这是一款可以让一直输的玩家...