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将忽略未提供的属性。

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

相关内容

热门资讯

透视辅助!wepoker辅助器... 透视辅助!wepoker辅助器下载,微信微乐游戏有辅助吗,曝光透视(有挂方式)-哔哩哔哩1、许多玩家...
透视辅助!wepoker透视方... 透视辅助!wepoker透视方法,微乐自建房脚本使用安全吗,了解脚本(有挂总结)-哔哩哔哩wepok...
脚本透视!hhpkoer辅助挂... 脚本透视!hhpkoer辅助挂是真的吗,hhpoker有后台操作吗(透视)确实真的是有挂(哔哩哔哩)...
据玩家消息!wepoker软件... 据玩家消息!wepoker软件安装包,微乐自建房辅助神器怎么安装,教你脚本(确实有挂)-哔哩哔哩1、...
透视攻略!德州局HHpoker... 透视攻略!德州局HHpoker透视脚本,微乐小程序辅助开发透视,有挂脚本(有挂技巧)-哔哩哔哩1、德...
透视开挂!hhpoker辅助,... 透视开挂!hhpoker辅助,hh poker辅助器先试用(透视)其实是真的软件(哔哩哔哩)暗藏猫腻...
透视分享!aapoker辅助器... 透视分享!aapoker辅助器是真的吗,aapoker怎么开辅助器(透视)好像存在有挂(哔哩哔哩)1...
值得注意的是!线上德州的辅助器... 值得注意的是!线上德州的辅助器是什么,广西微乐小程序微信辅助器免费,详情透视(有挂方针)-哔哩哔哩1...
透视了解!aapoker如何设... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多玩家在这款游戏中打...
透视攻略!hhpoker软件安... 透视攻略!hhpoker软件安装包,微乐小游戏万能修改器,详情透视(有挂秘诀)-哔哩哔哩亲,关键说明...