public class IntegrationTestBase : IDisposable
{
protected readonly ServiceStackHost appHost;
public const string BaseUri = "http://localhost:5000/";
public IntegrationTestBase()
{
Licensing.RegisterLicense(
"license key");
appHost = new BasicAppHost(typeof(AppHost).GetAssembly())
{
ConfigureContainer = container =>
{
//Add your IoC dependencies here
}
}
.Init()
.Start(BaseUri);
}
public void Dispose()
{
appHost.Dispose();
}
}
我需要编写集成测试并使用此代码启动主机以进行测试,但它会抛出未实现的异常。
答案 0 :(得分:3)
调用IAppHost.Start(baseUrl)
仅适用于自托管AppHost,它启动服务器以侦听指定BaseUrl的请求。 BasicAppHost
只是一个In Memory AppHost,您可以将其用于单元测试,因此您只需要调用Init()
,因为它不会启动任何内容。
如果您正在寻找create an Integration Test,那么您应该继承AppSelfHostBase
。