Вы должны настроить 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
, он должен вернуть указанное [ 114]. В зависимости от того, что вы пытаетесь сделать, это может быть другое Mock
. (Насмешки, которые возвращают насмешки, нежелательны, но если вы начинаете, я бы оставил эту деталь и вернулся к ней.)
Я предполагаю, что percentage
- это decimal
. It.IsAny<decimal>()
означает, что макет не имеет значения, какова ценность. Обычно это нормально, потому что вы тестируете то, что ваш класс делает с объектом, возвращаемым макетом.
https://calomel.org/nginx.html
Блокируйте большую часть "спама ссылающегося домена" - "больше раздражения, чем проблема"
nginx.conf
## Deny certain Referers (case insensitive)
## The ~* makes it case insensitive as opposed to just a ~
if ($http_referer ~* (babes|click|diamond|forsale|girl|jewelry|love|nudit|organic|poker|porn|poweroversoftware|sex|teen|video|webcam|zippo))
{ return 403; }
Я был в аналогичной ситуации прежде, где я должен был заблокировать людей на основе поведения вместо других произвольных правил, что брандмауэр мог разобраться самостоятельно.
Они способ, которым я работал вокруг проблемы, состоял в том, чтобы сделать мою логику (Направляющие в Вашем случае) делают блокирование... Но длинный путь вокруг:
Причина я делаю это этот путь вокруг (вместо того, чтобы просто дать полномочия Django изменить конфигурацию брандмауэра) просто: безопасность. Если бы мое приложение было взломано, то я не хотел бы, чтобы оно повредило что-либо еще.
Сценарий удара - что-то вроде этого:
exec < /path/to/my/djago-maintained/block-list
while read line
do
iptables -A INPUT --source $line/32 -j DROP
done