【发布时间】:2019-07-01 17:25:40
【问题描述】:
我有一个像这样的模拟上下文设置。
// Creates a working Fake Db Set of FakeClass Type
var fakeDbSet = Mockings.CreateDbSetMock(fakeData);
var fakeContext = new Mock<FakeContext>();
fakeContext.Setup(c => c.FakeData).Returns(fakeDbSet);
访问 Context 本身和 FakeData 按预期工作。 但现在我正在尝试为访问 fakeContext 的 ChangeTracker 的函数编写单元测试。
ctx.ChangeTracker.AutoDetectChangesEnabled = false;
现在测试失败并抛出异常,因为访问模拟上下文的 ChangeTracker 返回 null。
有没有办法模拟 Context 的 ChangeTracker?
我已经尝试使用模拟的 ChangeTracker 设置模拟的上下文,但我无法创建有效的实例,因为它在构造函数中需要上下文本身。
【问题讨论】:
标签: c# unit-testing mocking entity-framework-core moq