Wir haben (so wie jeder, denke ich) das gleiche Problem. Die Frage, die Du dir stellen musst, ist nicht: "Wie teste ich den Code, den ich geschrieben habe?" Sondern eher: "Wie schreibe ich Code, damit ich ihn testen kann?" Bei der
DB-Frage würde ich wirklich alle Einzelkomponenten testen (deinen Provider brauchst Du nicht zu testen). Schreibe Dir doch
DB-Unittests, die z.B. sicherstellen, das die Tabellen und Views ein bestimmtes Format haben. Auf der anderen Seite schreibst du die UT, die gegen genau dieses Layout prüfen.
Um einen (Blackbox)Integrationstest, der einfach prüft, was hinten rauskommt, kommst Du eh nicht herum. Vielleicht testest Du ja in der
DB gegen die Tabelle (A,B,C) und im UT gegen (A,B,X). Beide Tests gelingen.