首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用nunit测试DbProviderFactories

如何使用nunit测试DbProviderFactories
EN

Stack Overflow用户
提问于 2015-07-30 21:15:05
回答 1查看 365关注 0票数 2

对于下面的方法,我想传入DbProviderFactories类的模拟,但不能,因为它是一个静态类:

代码语言:javascript
复制
    private DbConnection GetConnection()
     {
        var dbProviderFactory = DbProviderFactories.GetFactory(_name);

            try
            {
                var dbConnection = dbProviderFactory.CreateConnection();
                if (dbConnection == null) return null;
                dbConnection.ConnectionString = _connectionString;
                return dbConnection;
            }
            catch (Exception)
            {
                return null;
            }
        }

如何测试我的代码/如何模拟DbProviderFactories

EN

回答 1

Stack Overflow用户

发布于 2015-07-30 21:18:10

您可以为DbProviderFactory创建自己的非静态包装器,该包装器实现您自己的接口并调用静态方法:

代码语言:javascript
复制
public interface IDbProviderFactories
{
    DbProviderFactory GetFactory(string name);
}

public class MyDbProviderFactories : IDbProviderFactories
{
    public DbProviderFactory GetFactory(string name)
    {
        return DbProviderFactories.GetFactory(name);
    }
}

如果现在将其注入到公开GetConnection()的类中,则可以根据需要模拟接口的实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31724867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档