OneTimeSetup失败的实体框架和NUnit测试的Nsubstitute

时间:2017-09-28 18:59:43

标签: nunit entity nsubstitute

我正在尝试为项目创建单元测试,该项目使用实体框架(包括Microsoft.AspNet.Identity)。我创建了dbContext的替代品,如下所示:

.volume-slider-con{
  height:10px;
  width:50%;
     position:relative;
  background-color:#ddd;
}
.volume-slider{
   height:100%;
   width:100%;
   position:relative;
   background-color:red;
}

当我点击上面代码中的最后一行时发生错误,我收到以下错误:

结果讯息: OneTimeSetUp:System.Data.Entity.ModelConfiguration.ModelValidationException:在模型生成期间检测到一个或多个验证错误:

Castle.Proxies.IdentityUserRole :: EntityType' IdentityUserRole'没有定义键。定义此EntityType的键。 Castle.Proxies.IdentityUserLogin :: EntityType' IdentityUserLogin'没有定义键。定义此EntityType的键。 IdentityUserRoles:EntityType:EntitySet' IdentityUserRoles'基于类型' IdentityUserRole'没有定义键。 IdentityUserLogins:EntityType:EntitySet' IdentityUserLogins'基于类型' IdentityUserLogin'没有定义键。

1 个答案:

答案 0 :(得分:0)

在我的ApplicationDbContext中,我将属性更改为虚拟:

public virtual DbSet<DeviceTypeActionRules> DeviceTypeActionRules { get; set; }

这似乎解决了上面显示的问题。