Има ли някаква възможност за отмяна на съобщенията по подразбиране на FluentAssertions
. Понякога просто искам персонализираното ми съобщение да бъде отпечатано в резултат на неуспешен тест. Досега не съм намерил никакво решение за това, но може би съм пропуснал нещо.
Пример:
myOrderedList.SequenceEqual(desiredOrderedList)
.Should().BeTrue("Elements are not in correct order.\r\n" +
$"Error in JSON file: {fileName}.\r\n" +
$"Required order of elements is {string.Join(", ", desiredOrderedList)}");
Съобщението за резултат е:
Expected boolean to be true because Elements are not in correct order.
Error in JSON file: MyTestData.json.
Required order of elements is str1, str2, str3, but found False.
Но бих искал да имам просто това
Elements are not in correct order.
Error in JSON file: MyTestData.json.
Required order of elements is str1, str2, str3.
РЕДАКТИРАНЕ: Опитах това
public static class BooleanAssertionsExtensions
{
public static BooleanAssertions Should(this bool? instance)
{
return new BooleanAssertions(instance);
}
}
public class BooleanAssertions
{
public BooleanAssertions(bool? instance)
{
Subject = instance;
}
public bool? Subject { get; private set; }
public AndConstraint<BooleanAssertions> BeTrueCustom(string because = "", params object[] becauseArgs)
{
Execute.Assertion
.ForCondition(Subject == true)
.BecauseOf(because, becauseArgs)
.FailWith("{reason}");
return new AndConstraint<BooleanAssertions>(this);
}
}
но когато се опитвам да направя .Should().BeTrueCustom(...
получавам тази грешка: „BooleanAssertions“ не съдържа дефиниция за „BeTrueCustom“ и не може да бъде намерен достъпен метод за разширение „BeTrueCustom“, приемащ първи аргумент от тип „BooleanAssertions“ (липсва ли директива за използване или справка за събрание?
Вероятно съм малко бавен, но не разбирам какво правя погрешно или как мога да създам ново разширение, разширяващо или заменящо поведение по подразбиране (съобщение по подразбиране). Доста жалко, че ФА не поддържа такова фундаментално нещо.
myOrderedList.Should().BeEquivalentTo(desiredOrderedList, config => config.WithStrictOrdering())
? - person Fabio   schedule 09.12.2019Expected collection {SomeProperty: 1, OtherProperty: item, SomeProperty: 2, OtherProperty: item} to be equivalent to {SomeProperty: 1, OtherProperty: item, SomeProperty: 2, OtherProperty: other}, but it misses {SomeProperty: 2, OtherProperty: other}.
- person Gondil   schedule 09.12.2019Excepted something {because message} but found smthing other.
Няма възможност за смислено добавяне на някакво важно съобщение, защото то е вмъкнато в този контекст на FA съобщение. - person Gondil   schedule 09.12.2019