【发布时间】:2019-07-02 02:42:01
【问题描述】:
我正在尝试测试 .net core 2.2 api。我很难模拟(使用起订量)dbcontext。使我的 mockDbContext 可用的语法是什么。我收到 NullReferenceException。由于我相信 Changetracker 从未实例化过。我需要不同的方法吗?我看到提到了 .UseInMemoryDatabase(),但是文档或很好的例子很少。
以下是我尝试在测试中使用的代码 [事实]。
var mockDbContext = new Mock<dbContext>(optionsBuilder.Options);
var controller = new HomeController(mockDbContext.object);
然后使用控制器测试...为简洁起见删除
var datafromdbcontext = controller.GetData();
以下是我的 dbcontext 示例。
public class dbContext:DbContext
{
public dbContext(DbContextOptions<dbContext> options)
: base(options)
{
//MAKE IT READONLY
ChangeTracker.QueryTrackingBehavior =
QueryTrackingBehavior.NoTracking;
}
【问题讨论】:
标签: c# testing .net-core moq xunit