如何使用依赖注入进行单元测试.net Core 2

时间:2017-12-14 17:10:06

标签: unit-testing dependency-injection asp.net-core-2.0

我开始开发一个新的Web应用程序,我创建了一个Domain Object,Inteface,DAL和BLL ......

我想在使用前测试所有。

如果我在.net core 2中的web应用程序中使用开发的函数,我在Startup.cs中添加了一些这样的代码:

public void ConfigureServices(IServiceCollection services)
        {

            **services.AddTransient<ITableOfTableRepository, DBTableOfTableRepository>();**

            services.AddMvc();

            services.AddSingleton<IConfiguration>(Configuration);
        }

在我的Controller中添加此代码

 public class TablesController : Controller
    {

        private readonly ITableOfTableRepository _repository;

        public TablesController(ITableOfTableRepository repository)

        {

            this._repository = repository;

        }

如何在Web应用程序中使用之前对UnitTest项目进行测试?

如何在单元测试中使用依赖注入?

BR

1 个答案:

答案 0 :(得分:0)

如果您正在尝试开发测试第一种方法......

您将通过几个步骤:

  1. 您的测试未编译,因为您需要编写控制器操作并创建接口
  2. 创建界面后,您可以模拟/存根(使用类似NSubstitute或其他的框架)并在创建控制器时注入

    var userService = Substitute.For();

    ...

    var controller = new MyController(userService)

  3. 您为测试编写控制器代码以传递