Имам клас, който изглежда така:
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