【问题标题】:Depedency Injection In ASP.net controllerASP.net 控制器中的依赖注入
【发布时间】:2015-12-10 19:55:29
【问题描述】:

我正在使用实体框架进行项目。我想知道对实体连接使用依赖注入进行单元测试是否正常。我想从小开始,然后潜入 DI 的世界,并且我使用(在一个简单的应用程序中测试过)Autofac 作为容器。 还有一个未来的问题,如果我有超过 50 个视图模型,我想如何为它们使用依赖注入。我在网上读到,控制器构造函数中有超过5个依赖项是不正常的。

【问题讨论】:

  • 依赖注入不仅仅用于单元测试,它是用于模块的松散耦合
  • 我是初学者,没有目标的开始不是我的风格,一开始我想知道如何使用DI进行单元测试,尤其是数据库,因为我使用的应用程序有很多插入形式.
  • 你在 google 上搜索过如何在 asp.net mvc 中使用 DI 吗?
  • 我已经测试过了,可以使用了。我什至找到了解决方案,但我还没有足够的能力正确使用它们,我需要了解更多关于 DI 的信息。我想快速开始使用数据库对象注入,然后在空闲时间阅读更多关于有效使用 DI 的内容。

标签: c# unit-testing model-view-controller dependencies code-injection


【解决方案1】:

虽然您的问题并不真正属于 stackoverflow,但我会尝试通过建议两个非常有用的开源框架来帮助您朝着正确的方向前进。

  • Ninject 非常易于使用,并且将使依赖注入的实现更加愉快和结构化。
  • Moq 用于编写单元测试并帮助处理“mocking”,这对于 MVC 和任何类型的依赖注入至关重要。

这两个框架都可以通过NuGet Package Manager 轻松获得。

网络上提供了大量的教程和演示,但here 是一个简单的教程,用于使用这两个框架编写单元测试来帮助您入门。

【讨论】:

  • 我读过 Adam Freeman 的 Pro MVC 5 书(他使用的是 Ninject 和 Moq),但在阅读时我没有电脑。 Autofac 就像 Ninject。我想在不向真实数据库中插入信息的情况下测试我的程序
  • 这就是起订量的用途,你不需要 Ninject 来使用起订量。
  • 我不知道我可以在没有注射的情况下使用起订量,是的,从逻辑上讲是这样,好吧,那么我的主要目标将是起订量:D 谢谢
猜你喜欢
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
相关资源
最近更新 更多