我正在尝试编写一些测试,我使用 xUnit.net、Moq、AutoFixture。我需要为我的测试方法注入服务:
[Theory, AutoData]
public void TestSmthCool(IService service)
{
}
IService
我想模拟 3 个依赖项。但是,如果我运行测试,我会收到错误:
AutoFixture was unable to create an instance from Services.Interfaces.IService because it's an interface.
因此,我通过以下方式对其进行了修复:
[Theory, AutoData]
public void TestSmthCool()
{
var fixture = new Fixture();
fixture.Customize(new AutoMoqCustomization());
fixture.Customizations.Add(
new TypeRelay(
typeof(IService),
typeof(MyService)
)
);
var s= fixture.Create<IService>();
}
但是,如何设置TypeRelay
所有测试并通过方法构造函数注入服务?