Я использую Likeness
Ploeh.SemanticComparison
как способ эффективного выражения предполагаемых результатов процесса сопоставления (как описано в отличный курс расширенного модульного тестирования Марка Симанна на PluralSight).
Я проверяю, что некоторые данные правильно отображаются, что выглядит так:
[Theory, AutoData]
static void ShouldYieldIdentifierUpdatedEvent( Vendor sut, string name, string version, Guid id )
{
var result = sut.SyncProduct( name, version, id );
var expected = new { ProductId = id, Name = name, Version = version };
expected.AsSource().OfLikeness<NewMappingsEvent>()
.Without( y => y.ProgrammaticIdentifier)
.ShouldEqual(result);
}
Однако я недоволен :-
- Я хочу применить имя к сходству (т. е. назвать мою настройку
.Without( y => y.ProgrammaticIdentifier)
) - Я потерял симметрию с
Assert.Equal( expected,actual, comparer)
(но мне определенно нужно сообщение об ошибке отShouldEqual
)
Есть ли более чистый способ выразить это в рамках выраженных ограничений?
Ploeh.SemanticComparison
(т.е. , мне еще предстоит столкнуться с случаем, который я пока не могу согнуть, чтобы он подходил для моего Золотого молота :D) - person Ruben Bartelink   schedule 23.05.2013