我有一个DNX单元测试程序集,我在其中测试使用EF7的代码。
在一个web应用程序中,我有Startup
类,在那里我可以提供ConfigureServices(IServiceCollection services)
方法并初始化如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<RadarDbContext>(options =>
options.UseSqlServer(
Configuration["Data:DefaultConnection:ConnectionString"]));
}
在DNX下运行的xunit测试的等效"钩子"在哪里?
Xuit的DNX运行程序从不调用Startup.cs。您要查找的"钩子"要么是类fixture,要么是测试类构造函数。(请参见https://xunit.github.io/docs/shared-context.html)
如何选择从那里初始化EF取决于您。您可以使用依赖注入并遵循上面的.AddDbContext()
模式,也可以直接初始化DbContext。(参见https://github.com/aspnet/EntityFramework/wiki/Configuring-a-DbContext有点过时)