我在很多项目中使用这个AutoDataAttribute
类。AutoFixture.Xunit2
添加您自己的自定义项的推荐方法似乎是如下的派生属性(注意我使用的是 FakeItEasy):
public class AutoFakeItEasyDataAttribute : AutoDataAttribute
{
public AutoFakeItEasyDataAttribute()
: base(() => new Fixture().Customize(new DomainCustomization()))
{
}
}
为了减少代码复制/粘贴,我想将此派生属性抽象为我们可以在项目中使用的包。然而,尽管尝试在这个库中使用依赖注入并遇到CLR 问题,DataAttribute
除了基本的“原语”之外无法采取任何措施,我还是遇到了众所周知的“砖墙”。显然,构造函数注入似乎在这里不起作用,据我所知,属性注入也不起作用(尽管这不太重要,因为直到构造函数调用之后才分配属性)。
最重要的是,我正在寻找一种将这个派生属性包含到包中的方法,但是可以根据每个项目的需求自定义域?