С помощью Fluent Assertion можно прикрепить результат утверждения к пользовательскому регистратору

#c# #fluent-assertions

#c# #fluent-утверждения

Вопрос:

Я пытаюсь определить результат утверждения, чтобы использовать выходные данные для создания отчетов, что-то вроде этого:

 ProblemResolution().Should().Match("easy");

Logger(Assertion.Result());
  

Я также пытался создать расширение, но я не могу понять, как «извлечь» результат, в случае, если он есть

  Execute.Assertion
            .BecauseOf(because)
            .ForCondition(Subject.Equals(str))
            .FailWith($"{because} {Subject} expected to be equals to ${str} but found {Subject}");
        return new AndConstraint<FluentAsserts>(this);
  

Есть какие-нибудь предложения?

Спасибо!

Ответ №1:

Вы можете обернуть код утверждения в AssertionScope , а затем вызвать Discard , чтобы получить сообщения о сбое и предотвратить выдачу областью действия исключения сбоя в конце using блока.

Комментарии:

1. Это отвечает на ваш вопрос?