我们将ServiceStack用于具有多个不同问题域的客户端项目,我们希望将其保持分离。我们开发了一个测试框架,用于旋转AppHostHttpListener并使用SQLite和DbUp设置内存测试数据库 - 但是,如您所知,测试会话的AppDomain can only have one AppHost at a time。
另一方面,我们要部署两个不同的AppHost,我们称之为Foo
和Bar
。 Foo
接受请求并将其传递给Bar
,因此Foo -> Bar
和Bar是独立的。
我们希望能够编写执行Foo
和Bar
实例的端到端集成测试。由于ServiceStack限制每个AppDomain一个AppHost,我们似乎有以下选择:
我的问题是:
答案 0 :(得分:1)
在内存中测试多个服务的唯一方法是将它们组合在同一个Test AppHost中,这只需要注册集成测试正在测试的依赖项。在内存中集成测试通常具有针对任务构建的Custom AppHost,AppHost不是测试的一部分。
另一种方法是使用IIS Express并在运行之前启动集成测试中使用的端点实例。