Loading...
psykepro avatar psykepro 18 Точки

[Exercises]Mocking

Някой правил ли  е упражненията за Mocking-a ?И ако да може ли да покаже как се тества DateTime.Now. :) 

Тагове:
7
C# OOP Advanced
simeon_petrov avatar simeon_petrov 45 Точки

//премахнат от потребителя, защото е безсмислен

 

-3
20/01/2016 12:13:10
DiyanTonchev92 avatar DiyanTonchev92 231 Точки

Без да искам да прозвуча грубо, но коментираш, без да знаеш за какво всъщност пита колегата.

1
29/08/2015 12:28:14
psykepro avatar psykepro 18 Точки

Не искам да видя как се създава фалшив обект на DateTime  със mocking  и как се контролира и тества с mocking ...

0
malkstor avatar malkstor 348 Точки

Точно това се чудя и аз, Moq казва че може да mock-ва само референтни типове, а DateTime не е такъв.

Нещо и с втората задача не мога да разбера как да подходя, понеже полето със сензора не е публично и няма пропърти. Може ли да се променя кода? Някой има ли ги тези упражнения разписани?

0
09/10/2015 21:33:52
danipetrova avatar danipetrova 120 Точки

Аз направих тестването на DateTime.Now като правя един провайдър:

public interface IDateTimeProvider
    {
        DateTime DateTimeNow { get; }
    }
public class DateTimeProvider : IDateTimeProvider
    {
        public DateTime DateTimeNow
        {
            get { return DateTime.Now; }
        }
    }

и при тестването подавам него:

var mock = new Mock<IDateTimeProvider>();
mock.Setup(d => d.DateTimeNow).Returns(new DateTime(2015, 7, 31));

var date = mock.Object.DateTimeNow.AddDays(1);
var expected = new DateTime(2015, 8, 1);

Assert.AreEqual(expected, date);

 

9
20/01/2016 00:32:01
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.