3

我在 ServiceStack TestHostBase.cs中查看单元测试的源代码- 并让它在我自己的项目中运行。在没有实际启动侦听器的情况下进行单元测试时,我将如何启用我的插件?例如,我想测试我的 Web 服务是否正确验证,因此我将以下代码添加到 TestHostBase.cs 中的配置中。

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

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

4

1 回答 1

2

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

当然,如果您的插件是可测试的,您可以独立于您的服务进行单元测试。

于 2012-07-29T16:03:19.903 回答