启动主机进行集成测试,从测试基础抛出未实现的exeption

时间:2017-07-11 09:14:53

标签: asp.net-core servicestack integration-testing

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();
    }
}

我需要编写集成测试并使用此代码启动主机以进行测试,但它会抛出未实现的异常。

1 个答案:

答案 0 :(得分:3)

调用IAppHost.Start(baseUrl)仅适用于自托管AppHost,它启动服务器以侦听指定BaseUrl的请求。 BasicAppHost只是一个In Memory AppHost,您可以将其用于单元测试,因此您只需要调用Init(),因为它不会启动任何内容。

如果您正在寻找create an Integration Test,那么您应该继承AppSelfHostBase