Результат модульного теста в нулевом объекте при тестировании веб-API 2

Я использую следующий код:

$("#myImage").attr("src","img/spinner.gif");

var img = new Image();
$(img).load(function() {
    $("#myImage").attr("src",img.src);
});
img.src = "http://example.com/imageToPreload.jpg";
0
задан Massey 16 January 2019 в 17:05
поделиться

2 ответа

Вы должны настроить 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>() означает, что макет не имеет значения, какова ценность. Обычно это нормально, потому что вы тестируете то, что ваш класс делает с объектом, возвращаемым макетом.

0
ответ дан Scott Hannen 16 January 2019 в 17:05
поделиться

Вам нужно вызвать Setup() для фиктивных объектов для методов, которые вы хотите использовать:

var deliveryStrategy = new Mock<IDeliveryStrategy>();
deliveryStrategy.Setup(x => x.GetDeliveryCodeStrategy(It.IsAny<int>))
    .Returns(AMockOfDeliveryContext); //you need to mock it beforehand so you can 
                                      //use the object here
0
ответ дан Stefan 16 January 2019 в 17:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: