Como unidade de teste ServiceStack?

Eu amo SS, mas estou coçando minha cabeça tentando testar a minha camada de negócios. Sou novo em testes de unidade e monitoramento e estou lendo no NSubstitute, já que isso parece uma divertida camada de zombaria.

Eu tenho minha estrutura de arquivos mais ou menos assim:

MainAppHostProject*
|
 -AppStart
    -AppHost  <-- standard apphost

DtoProject*
|
 -HelloWorldDto  <-- simple POCO to 


ServiceLayerProject*
|
 -HelloWorldService  <-- service interface that merely passes/sends Dtos to/from business layer


BusinessLayerProject*
|
 -HelloWorldManager <-- logic to construct response and this class extends 'Service' (letting me access Db, session, etc)...sidenote: maybe i shouldve called this a HelloWorldRepository?
 -CustomAuthProvider
 -CustomUserSession


DaoProject*
|
 -HelloWorldDao  <-- POCO of table structure

O Apphost aponta para o assembly HelloWorldService e registra o banco de dados do SQL Server como padrão.

Tudo realmente funciona muito bem e consegui construir a lógica de maneira mais limpa. Infelizmente eu gostaria de embarcar em testes unitários, mas eu não sei como separar o banco de dados.

Eu tentei registrar um falso no banco de dados de memória, mas depois acho que há problemas de incompatibilidade com a maneira como usei código para obter identidades etc. em SQL Server vs SQLite.

// container.Register<IDbConnectionFactory>(c => new OrmLiteConnectionFactory(":memory:", false, SqliteOrmLiteDialectProvider.Instance));
// container.Register<IDbConnectionFactory>(c => new OrmLiteConnectionFactory(":memory:", false, SqlServerDialect.Provider));

Eu só quero dissociar e testar a unidade. Alguma idéia por favor?

***ATUALIZAR

public class UnitTest1
{
    private Container container;

    [TestMethod]
    public void TestMethod1()
    {
        container = new Container();

        // container.Register<IDbConnectionFactory>(new OrmLiteConnectionFactory(":memory:", false, SqliteDialect.Provider));
        // sqlite didnt work so attempting with a real DB for now
        var connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=XXX;Integrated Security=True";
        container.Register<IDbConnectionFactory>(c => new OrmLiteConnectionFactory(connectionString, SqlServerDialect.Provider));

        // dependencies are injecting ok 
        container.RegisterAutoWiredAs<FeedbackRepo, IFeedbackRepo>();

        // service is autowiring --> leading to good injections
        container.RegisterAutoWired<FeedbackService>();

        var service = container.Resolve<FeedbackService>();
        service.SetResolver(new BasicResolver(container));

        // unit test is working well  
        var request = new DTO.FeedbackDto { Message = "test" };
        bool result = service.Post(request);
   }
}

No momento, tentando fazer com que 'Db' pare de ser nulo em minhas classes de serviço derivadas.

questionAnswers(1)

yourAnswerToTheQuestion