Validation 测试NancyFX模型验证
早上好 我正在NancyFX(1.4.1)中测试模型验证。当到达API端点时,验证工作正常,但在测试中失败。我正在使用默认的引导程序。测试在一个单独的项目中进行。两个项目都引用了nancy.validation.fluentvalidation包。测试浏览器中是否还需要一些配置 提前谢谢 型号:Validation 测试NancyFX模型验证,validation,testing,nancy,Validation,Testing,Nancy,早上好 我正在NancyFX(1.4.1)中测试模型验证。当到达API端点时,验证工作正常,但在测试中失败。我正在使用默认的引导程序。测试在一个单独的项目中进行。两个项目都引用了nancy.validation.fluentvalidation包。测试浏览器中是否还需要一些配置 提前谢谢 型号: public class CreateServiceCommand { [Required(AllowEmptyStrings = false)] public string TestF
public class CreateServiceCommand
{
[Required(AllowEmptyStrings = false)]
public string TestField { get; set; }
}
正在测试的模块:
public class ServiceModule : NancyModule
{
private readonly IServiceCreateRequestedListener _listener;
public ServiceModule(IServiceCreateRequestedListener listener)
{
_listener = listener;
Post["/services/create"] = parameters =>
{
var request = this.Bind<CreateServiceCommand>();
var result = this.Validate(request);
if(!result.IsValid) return HttpStatusCode.BadRequest;
_listener.CreateServiceRequested(request);
return "";
};
}
}
公共类服务模块:NancyModule
{
专用readonly iservicecreatedRequestedListener\u listener;
公共服务模块(IServiceCreateRequestedListener)
{
_监听器=监听器;
Post[“/services/create”]=参数=>
{
var request=this.Bind();
var result=this.Validate(请求);
如果(!result.IsValid)返回HttpStatusCode.BadRequest;
_CreateServiceRequested(请求);
返回“”;
};
}
}
测试代码段:
[SetUp]
public void Setup()
{
var browser = new Browser(with =>
{
with.Module<ServiceModule>();
with.Dependency<IServiceCreateRequestedListener>(this);
});
_result = browser.Post("/services/create", with =>
{
with.HttpRequest();
});
}
[Test]
public void ShouldReturnBadRequest
{
Assert.That(_result.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
}
[设置]
公共作废设置()
{
var browser=新浏览器(使用=>
{
带.Module();
依赖性(this);
});
_结果=browser.Post(“/services/create”,with=>
{
with.HttpRequest();
});
}
[测试]
public void应返回请求
{
Assert.That(_result.StatusCode,Is.EqualTo(HttpStatusCode.BadRequest));
}
演示代码中显示的CreateServiceCommand上的数据注释不起作用
我必须实现一个
AbstractValidator<CreateServiceCommand>
AbstractValidator
来自FluentValidation