Я нахожусь на распутье со следующей проблемой.У меня есть, скажем, следующий класс
public class Foo
{
internal Bar bar { get; }
internal Foo(Bar bar)
{
this.bar = bar;
}
}
, и я пытаюсь провести его юнит-тестирование, используя XUnit и Moq ,Первоначальный тест, который я создал, был
[Theory]
[AutoMockData]
internal void CtorShouldCreateInstance(Bar bar)
{
var sut = new Foo(bar);
Assert.NotNull(sut);
}
, который был действительным модульным тестом, но, передав в качестве параметра Bar , он вывел все свои зависимости, делая его в виде concrete тип.Предложение моего коллеги состояло в том, чтобы доставить объект Bar через интерфейс Interface и Mock , но я не уверен, как это сделать.
Я думал о создании интерфейса, метода для CreateBar с его обязательными параметрами, наследования интерфейса к классу Foo , реализации метода и добавления его в модуль.тест, но я хотел получить разъяснения или одобрение, поскольку я не уверен, что это правильный путь.
Заранее спасибо за помощь!