Беглые утверждения - PullRequest
       11

Беглые утверждения

0 голосов
/ 29 ноября 2018

Я создаю два объекта одного типа в интеграционном тесте, но пытаюсь исключить автоинкрементные элементы, сгенерированные при создании объекта.

Я успешно исключаю свойства RecordId и Number, но проверка эквивалентности не выполняется наИдентификатор собственности.Свойства RecordId и number наследуются от абстрактного класса, но Id отличается тем, что это абстрактное свойство, унаследованное от абстрактного класса, который затем переопределяется.

Свойство Id является свойством абстрактной строки и доступно только для чтения..

//CreateJob creates indentical jobs, but with autoincremented id, number and recordid   
Job job1 = CreateJob();
Job job2 = CreateJob();

job1.Should().BeEquivalentTo(job2, config => config
   .Excluding(o => o.RecordId)
   .Excluding(o => o.Id)
   .Excluding(o => o.Number)
);

Сообщение: ожидаемый идентификатор элемента будет «45», но «46» отличается около «6» (индекс 1).

С конфигурацией: - Использовать объявленныйтипы и члены

  • Сравнение перечислений по значению
  • Исключение члена root.RecordId
  • Исключение члена root.Id
  • Исключение члена root.Number
  • Соответствовать элементу по имени (или выбрасывать)
  • Без автоматического преобразования.
  • Строго соблюдать порядок элементов в байтовых массивах

Я также попытался запустить с параметром WithTracing (), но он не предоставил никакой информации о рассматриваемом свойстве.

Я прочитал документацию и не нашел ничего, что указывало бы на исключение абстрактного или виртуального свойстваЭто не должно быть возможно, я не прав?

Я пробовал это на версии 5.5.0 и 5.5.3, с идентичными результатами.

РЕДАКТИРОВАТЬ:

Iпроверил и дважды проверил, что ни класс, ни наследуемые им классы не имеют равных.

...