У меня возникли проблемы с издевательством в моих модульных тестах, поэтому я сделал простой пример, чтобы проиллюстрировать мою проблему. У меня есть следующий ...Нужна помощь с использованием Moq
public class SomeClass : ISomeInterface
{
public int ID { get; set; }
public string Desc { get; set; }
public int Create(SomeClass t)
{
return 5;
}
public int Create2(string s)
{
return 7;
}
}
public interface ISomeInterface
{
int Create(SomeClass t);
int Create2(string s);
}
Теперь у меня есть два способа, чтобы проверить Передразнивал интерфейс
private void TestCreate()
{
var mocker = new Mock<ISomeInterface>();
mocker.Setup(x => x.Create(new SomeClass())).Returns(3);
var result = mocker.Object.Create(new SomeClass());
}
private void TestCreate2()
{
var mocker = new Mock<ISomeInterface>();
mocker.Setup(x => x.Create2("Test")).Returns(4);
var result = mocker.Object.Create2("Test");
}
TestCreate2 работает и возвращает результат высмеивали «4»
TestCreate однако возвращает «0» вместо из "3"
Что мне нужно, чтобы мочить методы, которые принимают пользовательские классы в качестве аргументов, а не простые int и строки?