Вы должны настроить Mock
для возврата определенного значения:
IDeliveryContext deliveryContext = // ???? - whatever you want it to be.
// Could be another Mock.
// This is what the Mock will return.
Mock<IDeliveryStrategy> deliveryStrategy = new Mock<IDeliveryStrategy>();
deliveryStrategy.Setup(x => x.GetDeliveryCodeStrategy(It.IsAny<decimal>()))
.Returns(deliveryContext);
Это сообщает Mock
, что при вызове метода GetDeliveryCodeStrategy
он должен вернуть указанный IDeliveryContext
. В зависимости от того, что вы пытаетесь сделать, это может быть другой Mock
. (Насмешки, которые возвращают насмешки, нежелательны, но если вы начинаете, я бы оставил эту деталь и вернулся к ней.)
Я предполагаю, что percentage
это decimal
. It.IsAny<decimal>()
означает, что макет не имеет значения, какое значение. Обычно это нормально, потому что вы тестируете то, что ваш класс делает с объектом, возвращаемым макетом.