我想对以下方法进行单元测试:
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));
关于unit-testing - 模拟存储库的插入方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14982168/