如何存根属性getter

本文关键字:属性 getter 存根 何存根 | 更新日期: 2023-09-27 18:29:56

我使用Moq。我想在mock对象中存根一个属性getter:

var db = new Lazy<DatabaseContext>(DatabaseContextFactory.Create);
var mock = new Mock<IDocumentOperationContext>();
// stub "Database" property getter
mock.SetupGet(_ => _.Database).Stub(_ => db.Value);

但它抛出了一个例外:

System.InvalidOperationExceptionThe object 'IDocumentOperationContext _ => _.Database' is not a mocked object.

我不想实现IDocumentOperationContext,也不想使用已经存在的DatabaseContext对象进行存根。

如何实现目标?在另一个模拟图书馆可能吗?

如何存根属性getter

使用.Returns而不是.Stub