Moq et SqlConnection?

Je suis en train d'écrire des tests unitaires pour l'un de nos produits et ont été utilisés Moq pour réussir à se moquer de connexions à Entity Framework. Cependant, je suis venu à travers la méthode suivante:

public static productValue findValues(string productName, string dbConnectionString)
{
    try
    {
        SqlConnection conn = new SqlConnection(dbConnectionString);
        conn.Open();
        //Do stuff 
    }
}

Qui permet d'accéder à notre base de données à l'intérieur de cette méthode à l'aide d'un passé chaîne de connexion. Est-il possible de créer une maquette DB à l'aide de Moq et de créer une chaîne de connexion qui pointe vers la moqué de DB? J'ai essayer de faire quelque chose le long des lignes de

var mockSqlConnnection = new Mock<SqlConnection>();

Si je ne suis pas sur si c'est la bonne approche, car ce serait se moquer de la connexion en elle-même plutôt que de la DB.

C'est n'est pas possible, je crois que SqlConnection est une classe scellée et ne peut donc pas être moqué. Vous pourrait se moquer de IDBConnection, mais il y aurait encore beaucoup à faire: si vous voulez de l'unité de tester cette méthode, vous pouvez avoir à refactoriser un peu.
Vous avez tout à fait raison, SqlConnection est une classe scellée
l'Une des meilleures façons d'obtenir de la base de données est votre façon de cacher les données d'accès derrière abstraction des interfaces qui peuvent être moqué dans une logique d'entreprise de test.

OriginalL'auteur Novastorm | 2016-01-22