4
我使用fluentvalidation如下:集成測試和異常消息
集成測試的IValidator<Project> _projectValidator;
_projectValidator.ValidateAndThrow(project);
部分:
public class ProjectValidator : AbstractValidator<Project>
{
public ProjectValidator()
{
RuleFor(project => project.Name).NotEmpty().WithMessage("Project name cannot be empty.");
}
}
在一些服務
var validationException = Assert.Throws<ValidationException>(() => projectRepository.SaveOrUpdate(project));
Assert.That(validationException.Message, Is.EqualTo("Project name cannot be empty."));
這顯然不起作用validationException可能包含許多錯誤。即使它只包含一個錯誤字符串看起來是這樣的:
驗證失敗: - 項目名稱不能爲空。
你如何檢查驗證結果/包含指定的驗證消息?:
項目名稱不能爲空。
謝謝。我一直打算使用fluentassertion - 你的流利的斷言方法工作正常。謝謝。 – cs0815
當然,不客氣。我以爲你可能會喜歡它,並與FluentValidation一起使用它:) –