相关疑难解决方法(0)

什么是依赖注入?

已经发布了几个关于依赖注入的具体问题的问题,例如何时使用它以及它有哪些框架.然而,

什么是依赖注入以及何时/为什么应该或不应该使用它?

language-agnostic design-patterns dependency-injection terminology

2984
推荐指数
25
解决办法
80万
查看次数

如何编写数据库调用的单元测试

我已经接近一个新项目的开始了(喘气!)我第一次尝试将单元测试包含在我的项目中.

我自己设计一些单元测试时遇到了麻烦.我有一些方法很容易测试(传入两个值并检查预期的输出).我有代码的其他部分正在做更复杂的事情,比如对数据库运行查询,我不知道如何测试它们.

public DataTable ExecuteQuery(SqlConnection ActiveConnection, string Query, SqlParameterCollection Parameters)
{
    DataTable resultSet = new DataTable();
    SqlCommand queryCommand = new SqlCommand();
    try
    {
        queryCommand.Connection = ActiveConnection;
        queryCommand.CommandText = Query;

        if (Parameters != null)
        {
            foreach (SqlParameter param in Parameters)
            {
                 queryCommand.Parameters.Add(param);
            }
        }

        SqlDataAdapter queryDA = new SqlDataAdapter(queryCommand);
        queryDA.Fill(resultSet);
    }
    catch (Exception ex)
    {
        //TODO: Improve error handling
        Console.WriteLine(ex.Message);
    }

    return resultSet;
}
Run Code Online (Sandbox Code Playgroud)

此方法基本上包含从数据库中提取一些数据所需的所有必要部分,并返回DataTable对象中的数据.

第一个问题可能是最复杂的问题:在这样的情况下我应该测试什么?

一旦解决了问题,是否要模拟数据库组件或尝试对实际数据库进行测试.

database testing integration-testing unit-testing data-access-layer

63
推荐指数
4
解决办法
5万
查看次数

使用静态记录器,静态助手类进行依赖注入

我有一个静态类,它调用静态Logger类,

例如

static class DoesStuffStatic
{
  public static void DoStuff()
  {
    try
    {
      //something
    }
    catch(Exception e)
    {
      //do stuff; 
      Logger.Log(e);
    }
  }
}

static class Logger
{
  public static void Log(Exception e)
  {
     //do stuff here
  }
}
Run Code Online (Sandbox Code Playgroud)

如何将Logger注入我的静态类?

注意:我已经通过示例阅读了.NET中的依赖注入?,但这似乎使用实例记录器.

c# static unit-testing dependency-injection

29
推荐指数
2
解决办法
4万
查看次数

WCF服务中的依赖注入

我试图围绕WCF扭曲我的想法和依赖注入是一个令我困惑的一点.

我的问题基本上是:WCF是否支持开箱即用的依赖注入,或者是否必须依赖某些外部框架?

如果除了WCF之外只有一种方法可以使用它,你能给我一个简单例子的链接吗?

.net wcf dependency-injection

7
推荐指数
1
解决办法
1万
查看次数

如何在ASP.net MVC中正确测试具有数据库调用的控制器

我正在研究ASP.net MVC 3.0应用程序.我使用的MSTest一起Moq进行单元测试.我已经为我的控制器编写了所有测试方法并运行了那些测试,结果很成功.

现在,我怀疑我是否已经正确地进行了单元测试.因为,几乎我的大多数控制器操作都包含数据库调用.

我不嘲笑他们,我只是嘲笑SessionRequest使用Moq的对象.

是否真的有必要模拟数据库调用,因为单元测试意味着测试单个代码单元?我认为带有数据库调用的单元测试控制器违反了上述声明.

如果是这样,任何人都可以解释我如何模拟数据库调用吗?我没有使用任何实体框架.

Updated2:

[httppost]
  public void AjaxSave(Model m)
{
   m.update(); // Database call
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc unit-testing mstest moq

6
推荐指数
1
解决办法
4608
查看次数

静态方法的依赖注入

我在API中有一个类,有一个静态方法,用于验证和记录详细信息.任何指导如何注入ILogger接口请.

public class ValidateDataInAPI
{
    public static bool IsValid(string data)
    {
        //do something
        If(error) 
        {
            _logger.Error("Log error as implemented by caller");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc dependency-injection

6
推荐指数
1
解决办法
2万
查看次数

控制/依赖注入的反转,在.net中有很好的解释和示例?

嗨,

我对.net框架中的IoC/DI框架知之甚少.任何人都可以通过C#中的一些示例向我提供详细解释IoC/DI的链接吗?我想通过它,并对这些框架有更多的了解.

这样我就可以获得知识,在哪里以及如何使用这些框架对于实现项目非常有用.



NRK

c# frameworks dependency-injection inversion-of-control

5
推荐指数
2
解决办法
4204
查看次数

.Net中的依赖注入?

可能重复:
帮助.NET中的依赖注入

嗨朋友们,

我在一些网站上看到了依赖注入的几天!
你能说:

它是什么 ?
使用它有什么好处?

非常感谢.

.net c# dependency-injection

1
推荐指数
1
解决办法
1069
查看次数