AutoFixture:如何在没有前缀的情况下创建属性值?
创始人
2024-11-12 14:00:25
0

可以使用AutoDataAttribute和InlineAutoDataAttribute特性来解决这个问题。这些特性允许您使用AutoFixture来生成参数值。

示例代码:

public class MyClass
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class MyTest
{
    [Theory, AutoData]
    public void MyMethod_ShouldCreateInstanceWithoutPrefix(MyClass obj)
    {
        // Assert
        Assert.NotNull(obj);
        Assert.NotEqual(default(int), obj.Id);
        Assert.NotNull(obj.Name);
    }

    [Theory, InlineAutoData(100, "John")]
    public void MyMethod_ShouldCreateInstanceWithoutPrefix_WithSpecificValues(int id, string name, MyClass obj)
    {
        // Arrange
        obj.Id = id;
        obj.Name = name;

        // Assert
        Assert.NotNull(obj);
        Assert.Equal(id, obj.Id);
        Assert.Equal(name, obj.Name);
    }
}

在上面的代码中,用AutoDataAttribute标记的方法将根据参数类型自动生成参数值。这意味着如果MyClass类具有其他属性,AutoFixture将为它们创建属性值。

但是,如果您希望指定参数值,可以使用InlineAutoDataAttribute,并通过添加参数来指定它们。在这种情况下,AutoFixture将忽略未提供的属性。

这两种方法可以用于解决创建没有前缀的属性值的问题。

相关内容

热门资讯

透视软件!wpk辅助插件(透视... 透视软件!wpk辅助插件(透视)详细辅助解密教程(果然是真的有挂);1、用户打开应用后不用登录就可以...
透视软件!hhpoker德州有... 此外,数据分析德州(hhpoker德州有挂吗)辅助神器app还具备辅助透视行为开挂功能,通过对客户h...
透视智能ai(wEpOke)扑... 透视智能ai(wEpOke)扑克世界辅助(透视)详细辅助系统教程;科技安装教程;136704302。...
透视总结!德普之星辅助正版(透... 透视总结!德普之星辅助正版(透视)详细辅助2025新版(果然是真的有挂)1、德普之星辅助正版ai机器...
透视代打(wepOkE)云扑克... 透视代打(wepOkE)云扑克德州PK(透视)详细辅助AI教程1、不需要AI权限,帮助你快速的进行云...
透视私人局!wepoker破解... 透视私人局!wepoker破解是真的还是假的(透视)一向真的有挂(详细辅助解密教程)是一款可以让一直...
透视最新!wepoker透视脚... 透视最新!wepoker透视脚本(透视)详细辅助第三方教程(都是是有挂)1、点击下载安装,wepok...
透视智能ai!pokemmo脚... 此外,数据分析德州(pokemmo脚本辅助下载)辅助神器app还具备辅助透视行为开挂功能,通过对客户...
透视线上(WepokE)wep... 透视线上(WepokE)wepower让系统发好牌(透视)详细辅助必赢教程1、不需要AI权限,帮助你...
透视黑科技!wepoker透视... 透视黑科技!wepoker透视底牌脚本(透视)详细辅助玩家教你(竟然是真的有挂)1、让任何用户在无需...