在ServiceStack中测试插件



我正在ServiceStackTestHostBase.cs中查看单元测试的源代码,并将其与我自己的项目一起运行。在没有启动监听器的情况下进行单元测试时,我该如何启用插件?例如,我想测试我的web服务是否正确验证,所以我将以下代码添加到TestHostBase.cs.中的Configure

Plugins.Add(new ValidationFeature());
container.RegisterValidators(typeof(CustomerModelValidator).Assembly);

但是,当使用违反验证规则的Customer对象调用base.send时,不会进行验证。(注意:当我用侦听器启动Web服务时,验证工作正常)

因为插件可以改变AppHost的任何部分(即添加路由、内容类型、请求/响应过滤器、CatchAll处理程序等)。如果不启动HttpListener(或ASP.NET主机),就不可能测试它与服务的集成。

当然,如果你的插件是可测试的,你可以单独对它进行单元测试,与你的服务分开。

最新更新