WebAPI核心flunt验证单位测试带有Xunit问题
我正在使用ASP.NET Core WebAPI(6.0)。我正在使用流利的验证来验证。
public class Parameter
{
public string? code { get; set; }
public DateTime? TransactionDateFrom { get; set; }
}
public class ParameterValidator : AbstractValidator<Parameter>
{
public ParameterValidator()
{
RuleFor(model => model.code)
.Matches("^ABC.{10}$")
.WithMessage("**barcode should be 13 char long and starts with ABC**");
RuleFor(model => model.TransactionDateFrom.ToString())
.Matches(@"^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$")
.WithMessage("Date should be in the pattern of **YYYY-MM-DD**");
}
}
我正在使用Xunit,Flunt验证编写单元测试。它不起作用
[Fact]
public void Validate_TransactionDateFrom_InValid()
{
var param = new Parameter{ TransactionDateFrom = DateTime.Now };
var result = _validator.TestValidate(param);
result.ShouldHaveValidationErrorFor(parameter => parameter.TransactionDateFrom);
}
[Fact]
public void Validate_code_Format_InValid()
{
var param = new Parameter{ code = "2791231231233" };
var result = _validator.TestValidate(param);
result.ShouldHaveValidationErrorFor(parameter => parameter.code);
}
I am working with asp.net core webapi( 6.0). I am using fluent validation for validating.
public class Parameter
{
public string? code { get; set; }
public DateTime? TransactionDateFrom { get; set; }
}
public class ParameterValidator : AbstractValidator<Parameter>
{
public ParameterValidator()
{
RuleFor(model => model.code)
.Matches("^ABC.{10}quot;)
.WithMessage("**barcode should be 13 char long and starts with ABC**");
RuleFor(model => model.TransactionDateFrom.ToString())
.Matches(@"^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])quot;)
.WithMessage("Date should be in the pattern of **YYYY-MM-DD**");
}
}
I am writing unit test using xunit, flunt validation. It does not work
[Fact]
public void Validate_TransactionDateFrom_InValid()
{
var param = new Parameter{ TransactionDateFrom = DateTime.Now };
var result = _validator.TestValidate(param);
result.ShouldHaveValidationErrorFor(parameter => parameter.TransactionDateFrom);
}
[Fact]
public void Validate_code_Format_InValid()
{
var param = new Parameter{ code = "2791231231233" };
var result = _validator.TestValidate(param);
result.ShouldHaveValidationErrorFor(parameter => parameter.code);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论