Пытаюсь написать тесты, использую 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
для всех тестов и внедрить сервис через конструктор метода?