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、完成嗨动互动辅助软件有...
在玩家背景下!点点游戏辅助,闲... 在玩家背景下!点点游戏辅助,闲聚大联盟辅助-果然存在有辅助攻略(哔哩哔哩)1、玩家可以在闲聚大联盟辅...
有了最新消息!欢聚水鱼智能辅助... 有了最新消息!欢聚水鱼智能辅助app,决战卡五星游戏辅助器-原来是真的有辅助app(哔哩哔哩)所有人...
黑科技教程!丰城双剑辅助,永胜... 黑科技教程!丰城双剑辅助,永胜联盟会封号吗-都是真的有辅助器(哔哩哔哩)1、任何永胜联盟会封号吗透视...
于此同时!新上游透视辅助,榆林... 于此同时!新上游透视辅助,榆林打锅子辅助器-果然真的有辅助挂(哔哩哔哩)1)榆林打锅子辅助器辅助插件...
透视实锤!悠闲卡五星辅助,微信... 您好,微信微乐游戏辅助脚本这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很...
据文件显示!随意玩房卡辅助器透... 据文件显示!随意玩房卡辅助器透视,潮汕汇辅助器-一贯真的是有辅助app(哔哩哔哩)该软件可以轻松地帮...
黑科技技巧!新道游怎么开挂,新... 黑科技技巧!新道游怎么开挂,新海贝之城脚本-其实确实有辅助技巧(哔哩哔哩)运新海贝之城脚本辅助工具,...
透视了解!衡阳丫丫辅助,爱来大... 透视了解!衡阳丫丫辅助,爱来大菠萝怎么玩-果然是真的有辅助app(哔哩哔哩)爱来大菠萝怎么玩透视方法...
技巧辅助挂!钱塘十三水辅助器软... 技巧辅助挂!钱塘十三水辅助器软件,越乡游义乌辅助器免费试用-好像是有辅助教程(哔哩哔哩)1、下载好越...