Я пытаюсь создать некоторые классы Assertion с помощью библиотеки FluentAssertions. Это код подтверждения:
public AndConstraint<MyTaskAssertions> Work(string because = "", params object[] becauseArgs)
{
Execute.Assertion
.BecauseOf(because, becauseArgs)
.WithExpectation("Expected {context:mytask} to work{reason}, ")
.Given(() => Subject)
.ForCondition(x => x.Works)
.FailWith("but it doesn't");
return new AndConstraint<MyTaskAssertions>(this);
}
А это мой тест:
var t = new MyTask {Works=false};
t.Should().Work();
Все работает нормально, за исключением того, что вместо имени переменной t
, " mytask"отображается в сообщении об исключении:
Ожидается, что mytask будет работать, но не
Я прочитал Расширяемость на странице документации, и я также проверил исходный код для встроенных утверждений, но я все еще не уверен, что именно мне не хватает в сообщении об исключении, чтобы показать фактическое имя переменной вместо того, что после "context:" заполнитель.