为单元测试模拟 SqlConnection 时遇到问题

问题描述

我正在调用无法更改的代码,该代码接受 layerNameMapping 和从该 sqlConnection 创建的 Transaction。我正在尝试使用 Moq 4.16.1 来模拟这个 sqlConnection。尝试对代码进行单元测试时出现以下错误

无法将“Castle.Proxies.IDbConnectionProxy”类型的对象转换为“System.Data.sqlClient.sqlConnection”类型。

我已将 sqlConnection 包装在我自己的包装器中以尝试使其正常工作,但这并没有帮助。

sqlConnection

sqlConnectionWrapper

单元测试:

using System.Data;
using System.Data.sqlClient;

namespace Wrappers
{
    public class sqlConnectionWrapper : IsqlConnectionWrapper
    {
        public string ConnectionString { get; private set; }

        public sqlConnectionWrapper(string connectionString)
        {
            ConnectionString = connectionString;
        }

        public IDbConnection open()
        {
            return new sqlConnection(ConnectionString);
        }
    }
}

对此的任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)