Jak przeprowadzić test jednostki ServiceStack?

Uwielbiam SS, ale drapam się w głowę, próbując przetestować warstwę biznesową. Jestem nowicjuszem w testowaniu jednostkowym i próbowaniu i czytałem w NSubstitute, ponieważ wygląda to jak zabawna warstwa szydercza.

Mam mniej więcej taką strukturę plików:

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

Apphost wskazuje na zestaw HelloWorldService i rejestruje bazę danych SQL Server jako standard.

Wszystko naprawdę działa świetnie i udało mi się stworzyć logikę w bardziej przejrzysty sposób. Niestety chciałbym rozpocząć testy jednostkowe, ALE nie wiem jak odłączyć bazę danych.

Próbowałem zarejestrować fałszywą bazę danych w pamięci, ale wydaje mi się, że istnieją problemy z kompatybilnością z tym, jak użyłem kodu do pobierania tożsamości itp. W SQL Server i SQLite.

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

Chcę tylko odłączyć i przeprowadzić test jednostkowy. Masz jakieś pomysły?

***AKTUALIZACJA

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

W tej chwili próbuję uzyskać „Db”, aby przestać być zerowe w moich pochodnych klasach usług.

questionAnswers(1)

yourAnswerToTheQuestion