У меня есть класс, который выглядит примерно так:
public myArguments
{
public List<string> argNames {get; set;}
}
В моем тесте я делаю это:
var expectedArgNames = new List<string>();
expectedArgNames.Add("test");
_mockedClass.CheckArgs(Arg.Any<myArguments>()).Returns(1);
_realClass.CheckArgs();
_mockedClass.Received().CheckArgs(Arg.Is<myArguments>(x => x.argNames.Equals(expectedArgNames));
Но тест не проходит с этим сообщением об ошибке:
NSubstitute.Exceptions.ReceivedCallsException : Expected to receive a call matching:
CheckArgs(myArguments)
Actually received no matching calls.
Received 1 non-matching call (non-matching arguments indicated with '*' characters):
CheckArgs(*myArguments*)
Я предполагаю, что это из-за .Equals()
, но я не уверен, как это решить?
IEquatable
, потому чтоList<>
может быть списком других типов объектов, кромеstring
, спасибо - person SOfanatic   schedule 27.08.2015_realClass
и_mockedClass
? Я не вижу кода, который вызываетCheckArgs()
с переменнойexpectedArgNames
. Не могли бы вы опубликовать воспроизводимый код - person Alexandr Nikitin   schedule 27.08.2015