Я знаю, что это старый вопрос и ответы, но я наткнулся на это, пытаясь сделать то же самое для некоторых модульных тестов. Затем мне пришло в голову, что я уже делаю что-то подобное, используя Moq (facepalm).
Мне нравится другое предложение для ImpromptuInterface, но я уже использую Moq и чувствую, что у него больше подписчиков (то есть мнение и не факт), он будет более стабильным и дольше будет поддерживаться.
так что для этого случая было бы что-то вроде
public interface ICoOrd
{
int X { get; set; }
int Y { get; set; }
}
public class Sample
{
public void Test()
{
var aCord = new Mock<ICoOrd>();
aCord.SetupGet(c => c.X).Returns(44);
aCord.SetupGet(c => c.Y).Returns(55);
var a = aCord.Object;
}
}
РЕДАКТИРОВАТЬ : просто добавив еще один способ издеваться над шнуром, начал делать это таким образом, и он немного лучше.
public void AnotherTest()
{
var aCord = Mock.Of<ICoOrd>(c => c.X == 44 && c.Y == 55);
//do stuff with aCord
}