Как сделать XunitExceptions более осмысленными? - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть несколько экземпляров и свойств, которые я хотел бы проверить с помощью XUnit.

myInstance.SomeProperty1.Should().HaveCount(2);
myInstance.SomeProperty2.Should().HaveCount(2);
[...]
myInstance.SomePropertyN.Should().HaveCount(2);

Когда это завершение не удается, они выдают следующие исключения:

Xunit.Sdk.XunitException
Expected collection to contain 2 item(s), but found 0.
   at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(String message, Object[] args)
   at FluentAssertions.Collections.SelfReferencingCollectionAssertions`2.HaveCount(Int32 expected, String because, Object[] becauseArgs)
   at [...]
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass48_1.<<InvokeTestMethodAsync>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.ExecutionTimer.<AggregateAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.ExceptionAggregator.<RunAsync>d__9.MoveNext()

Все идет нормально.Но как я могу сделать исключение более значимым?Я хотел бы видеть название свойства, на котором не удалось подтвердить.

Дело в том, что это довольно большие объекты, и тестирование всегда занимает довольно много времени.Знание, на каком свойстве тесты не пройдены, ускорит мой процесс тестирования.Заранее спасибо!

...