我想对以下方法进行单元测试:
void Insert(TEntity entity);
这个方法的类已经被模拟了(我正在使用 Moq)。
现在我想做一个基于状态的测试并告诉 Moq 如果这个方法被调用,一个对象必须被插入到一个列表中。我怎样才能做到这一点?
useraccountRepository.Setup(r => r.Insert(useraccountBeforeLogin)).???
什么来了?有一个 raises 方法可以引发一个事件。我可以用这个吗?
我想对以下方法进行单元测试:
void Insert(TEntity entity);
这个方法的类已经被模拟了(我正在使用 Moq)。
现在我想做一个基于状态的测试并告诉 Moq 如果这个方法被调用,一个对象必须被插入到一个列表中。我怎样才能做到这一点?
useraccountRepository.Setup(r => r.Insert(useraccountBeforeLogin)).???
什么来了?有一个 raises 方法可以引发一个事件。我可以用这个吗?
我知道这是一个旧线程,但这是我为测试从模拟存储库插入项目所做的,希望这可能对某人有所帮助。
var myRepositoryMock = new Mock<IMyRepository>();
var itemsInserted = new List<MyItem>();
myRepositoryMock
.Setup(i => i.InsertItem(It.IsAny<MyItem>()))
.Callback((MyItem item) => itemsInserted.Add(item));
您可以使用回调- 那里列出了一些示例