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

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

相关内容

热门资讯

黑科技辅助挂(德扑之星作弊事件... 黑科技辅助挂(德扑之星作弊事件)外挂透明挂辅助挂(透视)本来是有挂(黑科技解密)1、进入游戏-大厅左...
黑科技规律(wepOke)软件... 黑科技规律(wepOke)软件规律(黑科技)软件透明演示(确实真的是有挂)是一款可以让一直输的玩家,...
黑科技能赢(德扑之星作弊事件)... 黑科技能赢(德扑之星作弊事件)外挂黑科技辅助教程(透视)好像真的是有挂(黑科技技巧)1、构建自己的德...
透视科技(wPk)黑科技软件可... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款游戏中打牌都...
黑科技科技(微扑克的辅助工具苹... 黑科技科技(微扑克的辅助工具苹果)外挂黑科技辅助插件(透视)确实存在有挂(黑科技攻略);1、不需要A...
黑科技神器(wepoKE)ai... 黑科技神器(wepoKE)ai代打逻辑(黑科技)智能ai(本来真的有挂),您好,这款游戏可以开挂的,...
黑科技线上(aapoker透明... 黑科技线上(aapoker透明挂)外挂透视辅助方法(透视)竟然有挂(黑科技插件)1、黑科技线上(aa...
黑科技模拟器(微扑克有辅助透视... 黑科技模拟器(微扑克有辅助透视)外挂黑科技辅助app(透视)真是是有挂(黑科技教程);所有人都在同一...
黑科技好友房(智星德州菠萝辅助... 黑科技好友房(智星德州菠萝辅助器推荐)外挂透视辅助软件(透视)好像是真的有挂(黑科技攻略);1、下载...
黑科技私人局(aapoker猫... 黑科技私人局(aapoker猫腻)外挂黑科技辅助助手(透视)都是真的有挂(黑科技黑科技);1、完成a...