[Exercises]Mocking
Някой правил ли е упражненията за Mocking-a ?И ако да може ли да покаже как се тества DateTime.Now. :)
Някой правил ли е упражненията за Mocking-a ?И ако да може ли да покаже как се тества DateTime.Now. :)
//премахнат от потребителя, защото е безсмислен
Аз направих тестването на 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);
Без да искам да прозвуча грубо, но коментираш, без да знаеш за какво всъщност пита колегата.
Не искам да видя как се създава фалшив обект на DateTime със mocking и как се контролира и тества с mocking ...
Точно това се чудя и аз, Moq казва че може да mock-ва само референтни типове, а DateTime не е такъв.
Нещо и с втората задача не мога да разбера как да подходя, понеже полето със сензора не е публично и няма пропърти. Може ли да се променя кода? Някой има ли ги тези упражнения разписани?