2015-12-08 95 views
0

我有一个DNX单元测试程序集,用于测试使用EF7的代码。如何正确初始化xunit测试EF7使用xunit.runner.dnx运行

在一个web应用程序,我有Startup类在那里我可以提供一个ConfigureServices(IServiceCollection services)方法和初始化像这样:

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddEntityFramework() 
     .AddSqlServer() 
     .AddDbContext<RadarDbContext>(options => 
      options.UseSqlServer(
      Configuration["Data:DefaultConnection:ConnectionString"])); 
} 

哪里是相当于“钩”的DNX下运行的xUnit的测试?

回答

1

Xunit的DNX运行程序从不调用Startup.cs。你正在寻找的“钩子”是一个类夹具或你的测试类的构造函数。 (请参阅https://xunit.github.io/docs/shared-context.html

如何选择初始化EF由您决定。您可以使用依赖注入并遵循上面的.AddDbContext()模式,或者您可以直接初始化您的DbContext。 (见https://github.com/aspnet/EntityFramework/wiki/Configuring-a-DbContext这是有点过时)

+0

谢谢奈特。仔细阅读资料来源,这是我一直以来的结论。这是我提出的关于ASP.NET 5,EF7和DI以及这两者中的初始化的3个问题系列中的第二个。第一个问题:http://stackoverflow.com/questions/34028008/how-does-ef7-bootstrap-dependency-injection-iservicecollection-if-youre-not-i,以及第二个第三个问题,实际上我在哪里在这个过程中:http://stackoverflow.com/questions/34167161/default-service-creation-for-asp-net-5-serviceprovider – MikeJansen

相关问题