2016-11-08 5 views
1

Использование FluentAssertions:
Я могу исключить одно свойство, используя ShouldBeEquivalentTo.Как исключить несколько свойств в FluentAssertions ShouldBeEquivalentTo()

x.ShouldBeEquivalentTo(y, opts => opts.Excluding(si => !si.PropertyInfo.CanWrite)); 

Но, как я исключить более 1 собственности при использовании ShouldBeEquivalentTo()?

ответ

2

Вы должны использовать функцию вместо этого вместо выражения.

x.ShouldBeEquivalentTo(y, ExcludeProperties); 

private EquivalencyAssertionOptions<xx> ExcludeProperties(EquivalencyAssertionOptions<xx> options) 
    { 
      options.Excluding(t => t.CeOperator); 
      options.Excluding(t => t.CeOperatorName); 
      options.Excluding(t => t.Status); 
      options.Excluding(t => t.IsOperational); 
      return options; 
    } 
3

Вам не обязательно нужен отдельный метод. Цепь многократных звонков плавно.

x.ShouldBeEquivalentTo(y, opts => opts.Excluding(si => !si.PropertyInfo.CanWrite).Excluding(si => si.SomeOtherProperty));