【发布时间】:2017-03-27 03:34:43
【问题描述】:
例如;
results.Errors.Count.Should().Be(0, $"because {results.Errors[0]}");
产生结果消息:
Expected value to be 0 because 'Name' should not be empty., but found 2.
但我真正想要的是,在这个特定的实例中(调用断言)只是results.Errors[0] 的值,也就是说我希望消息是:'Name' should not be empty.
(顺便说一句,我真正想要的是传递整个 results.Errors 数组的串联字符串表示,但我的 linq/lambda 技能还没有)!
那么我怎样才能让 FA 只使用我提供的作为消息字符串?
【问题讨论】:
-
您是在生产中使用 FA,而不是在单元测试中使用 FA?
-
我正在尝试在我的单元测试中使用FluentAssertions,它使用nunit 来测试我的FluentValidations
validators,它们在生产代码中。 -
只需为测试方法提供“描述性”名称,每次测试只测试一件事(几乎每个测试一个断言)。然后你就不再需要消息了。失败测试的名称将提供足够的信息